<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>mathgl</title>
    <description></description>
    <link>http://mathgl.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>我与python的故事</title>
        <author>mathgl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mathgl.javaeye.com">mathgl</a>&nbsp;
          链接：<a href="http://mathgl.javaeye.com/blog/218802" style="color:red;">http://mathgl.javaeye.com/blog/218802</a>&nbsp;
          发表时间: 2008年07月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Python的历史大概从90年代初开始, 不过当时在中国知道这个名字的人我猜测可能很少。　而我知道这个名字的时候已经是２００４年初了。当时我回国过年，年后去广州办事，偶一日因为等人无聊于是跑到天河的一间书店看书。我翻过的其中一本书是蔡学镛的&lt;&lt;java夜未眠&gt;&gt;，在比较靠后的某一章提到Python. 他的comment: 易学易用，功能强大，国外很多人使用.</p>
<p>当时我不免觉得奇怪，　依稀记得在我们所里看到过的几种语言中没发现这个名字。我们所是做数值计算的.主要用 Fortran(77), C/C++, TCL 还有一种说不出名字的脚本语言。　过几天，我回英国了，回去后我询问了一下同事, &quot;你们听说过这种语言么？&rdquo;　我抽样了５个人，其中只有一个知道，他是搞图像处理的对python的评价颇高。　不过当时我忙于论文的事情，到结束后没多久就回国了，&ldquo;学一下python&quot;这个念头自然很快消失了.</p>
<p>&nbsp;</p>
<p>我回国的第一份工作是做单片机在汽车电子的应用, 应用领域主要是C51和Dos, 使用环境基本上和python不搭界. 05年上半年曾经看过一下 Learning in Python,　不过因为找不到什么可用的地方　看下去就没什么劲头。看了两章就算了. </p>
<p>到了下半年，事情有了一些转机，公司要开始搞些信息化的管理之类的事物，需要有某些人来处理此类流程和开发一些应用。</p>
<p>当时无人可选，经理于是把我调过去做这类事情 他给领导的理由是&rdquo;此人以前学财务会计，研究生学过应数，应该逻辑思维</p>
<p>比较强，比那些搞电子的好些&ldquo;。　领导居然也同意了。</p>
<p>&nbsp;</p>
<p>我只有１个人，要做的事情很多，于是我想找一个能rapid-development的工具，至少能rapid-prototyping的冬冬。我评估了一下我会的语言 c/c++, java都不怎么符合这个要求。勉强符合的ｄｅｌｐｈｉ却又提不起兴趣去用。　又一次，我想到了ｐｙｔｈｏｎ。我在ｅｍｕｌｅ下了几本书．ｐｙｔｈｏｎ　ｉｎ　ａ　ｎｕｔｓｈｅｌｌ，　ｐｙｔｈｏｎ　ｉｎ　ｗｉｎ３２，　ｐｒｏｇｒａｍｍｉｎｇ　ｐｙｔｈｏｎ等。　因为我需要做的事情和其他ｗｉｎ３２下的应用有密切的交互性，扫了几眼ｐｙｔｈｏｎ　ｉｎ　ｗｉｎ３２后觉得这个东西应该就是我所寻找的. </p>
<p>&nbsp;</p>
<p>不得不说 learning by doing是学习新语言的比较好的方式，我不到４天的时间把ｌｅａｒｎｉｎｇ　ｉｎ　ｐｙｔｈｏｎ看完了，然后开始进行使用.....&nbsp; </p>
<p>&nbsp;</p>
<p>从０６年到０８年我离开的时候，我大致用python开发了３－４个应用包括一些比较复杂的生产控制的应用。</p>
<p>&nbsp;</p>
<p>我个人对python的感受:</p>
<p>我觉得使用ｐｙｔｈｏｎ进行开发是件很美好的事情。有一次我同学问我为什么使用这个语言。我回答是我看这个东西比较顺眼，而且我觉得在ｉｄｌｅ下面敲代码给我一种赏心悦目的感觉。　开源的那个ｅｒｉｃ说过&quot;一种语言能缩短你思考和敲打键盘的时间间隔就是一门好的语言&ldquo;　我和他的感受一样　基本上可以做到和思维同步. 虽然我没怎么用过python的高级特性，很多时候我只是把它当作一种simplified c++来使用, 但是这已经缩短了很多很多时间.</p>
<p>&nbsp;</p>
<p>python有足够多的库作为选择，而且作ｅｘｔｅｎｓｉｏｎ因为ｓｗｉｇ的存在也变得很直观。我使用的开发环境也远比用其他简单的多, 只有一个ｉｄｌｅ，　偶尔开pythonwin看ｉｔ的com browser. 　需要查函数，只需要在ｓｈｅｌｌ　打　ｉｍｐｏｒｔ　ｘｘｘ，　ｄｉｒ（ｘｘｘ）　看看即可. 对比使用ｎｅｔｂｅａｎｓ，　ｖｓ２００５的感受大是不同。</p>
<p>&nbsp;</p>
<p>python不是pure OO language, 不过我也不是一个OO的fans, 我也不认为OO在任何时候都是解决问题的合理手段, dirty and lazy几乎是人的本性之一，　没有什么不好.</p>
<p>&nbsp;</p>
<p>python的运行环境的宽度令我惊讶．　我写的生产运营系统需要在一台celeron 550, ram 128m win98下使用　在０６年的时候，这种机器估计也只能卖个２，３００。　任何.net java jvm based 的程序在这种机器运行和自虐无甚区别。真正能有用武之地的怕是delphi了. 不过令我意外的是　那套系统运行的很好，我目测估计大约比delphi写的慢25%左右。除了在计算产品配置这种较为极端的运算才会延迟. 这个事件一改我认为python十分慢的印象。　它是十分慢，不过不是非常慢.</p>
<p>&nbsp;</p>
<p>python我抱怨的地方不多　一个是indention问题，在某些自作主张的编辑器里面的ｐｙｔｈｏｎ代码会变得不可思议。正确理解和使用tab居然变成一件头等的大事.python的thread又是另外一个问题. GIL使multi-core　变得毫无用处。幸好　ｐｙｐｒｏｃｅｓｓｉｎｇ的出现某种程度alleviate了这种麻烦。</p>
<p>&nbsp;</p>
<p>毫无疑问，我和python的故事仍然会继续下去，至少目前我看不出为什么要抛弃它的理由.　这是一种很有趣，很ｈａｎｄｙ的语言。套用一句流行语 &quot;very good very strong&quot;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://mathgl.javaeye.com/blog/218802#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Jul 2008 01:10:29 +0800</pubDate>
        <link>http://mathgl.javaeye.com/blog/218802</link>
        <guid>http://mathgl.javaeye.com/blog/218802</guid>
      </item>
      <item>
        <title>swig, python, g++</title>
        <author>mathgl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mathgl.javaeye.com">mathgl</a>&nbsp;
          链接：<a href="http://mathgl.javaeye.com/blog/218783" style="color:red;">http://mathgl.javaeye.com/blog/218783</a>&nbsp;
          发表时间: 2008年07月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>最近在搞GIS的东西，有些底层的库需要封装为python的extension.</p>
<p>&nbsp;</p>
<p>swig虽然古老，但是是个不错的东西, 对于c-style的library来说 很适合。</p>
<p>&nbsp;</p>
<p>在编译为动态库前记得将后缀名改为 .pyd</p>
<p>按照swig的文档 .so 和 .dll 均不起作用。很奇怪</p>
<p>&nbsp;</p>
<p>使用环境:</p>
<p>python 2.5</p>
<p>mingw g++ ver: 3.4.5</p>
<p>swing 1.3.14</p>
          <br/>
          <span style="color:red;">
            <a href="http://mathgl.javaeye.com/blog/218783#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 23 Jul 2008 23:43:24 +0800</pubDate>
        <link>http://mathgl.javaeye.com/blog/218783</link>
        <guid>http://mathgl.javaeye.com/blog/218783</guid>
      </item>
      <item>
        <title>西安之旅1</title>
        <author>mathgl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mathgl.javaeye.com">mathgl</a>&nbsp;
          链接：<a href="http://mathgl.javaeye.com/blog/210961" style="color:red;">http://mathgl.javaeye.com/blog/210961</a>&nbsp;
          发表时间: 2008年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>前段时间失业, 经一同下岗的同事介绍，去了另外一个公司。因为做的事情觉得还有意思，就答应了。</p>
<p>进去的第三天就被要求去西安出差了。</p>
<p>&nbsp;</p>
<p>和老总坐的飞机， 桂林-西安，机票还算便宜，350酱紫。东航的。 有趣的是飞机上面的杂志头条便是</p>
<p>&quot;东航集体罢飞背后xx&quot; 觉得十分讽刺。东航的空姐貌似可以, 高挑而且亮丽，我个人觉得比国航和南航的好些。</p>
<p>当然样本十分不足.</p>
<p>&nbsp;</p>
<p>在飞机上吃了有史以来最难吃的包子，不过大家可能都饿了，居然没人抱怨。 和我同座的有一老外。飞机飞行一半的</p>
<p>时候我实在无聊只好和她攀谈起来。 她是意大利人，和老公还有其他一帮人来玩的。</p>
<p>&nbsp;</p>
<p>我04年回国后，基本上就没怎么用过英语了/除了阅读和书写。 和她聊了1小时，发现听力和口语也没怎么退步. 而且</p>
<p>当年对意大利的口音基本上接受力为零，现在倒是听得不很费劲.</p>
<p>&nbsp;</p>
<p>意大利人很不错，天生就会三种语言了。。她告诉我她没学过spanish和french 也能知道对方说什么..</p>
<p>&nbsp;</p>
<p>我建议她学中文, 她摇头，表示年纪大了，不方便。后来居然聊到了她们的总理的选举.</p>
<p>&nbsp;</p>
<p>下午5点40分，飞机在咸阳降落。看着夕阳下的这块土地，突然意识到，我将在这里渡过最少45天.</p>
          <br/>
          <span style="color:red;">
            <a href="http://mathgl.javaeye.com/blog/210961#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 03 Jul 2008 11:21:44 +0800</pubDate>
        <link>http://mathgl.javaeye.com/blog/210961</link>
        <guid>http://mathgl.javaeye.com/blog/210961</guid>
      </item>
      <item>
        <title>the first one i post here</title>
        <author>mathgl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mathgl.javaeye.com">mathgl</a>&nbsp;
          链接：<a href="http://mathgl.javaeye.com/blog/124744" style="color:red;">http://mathgl.javaeye.com/blog/124744</a>&nbsp;
          发表时间: 2007年09月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Basically, it is my first &quot;article&quot; posted on Web.. don't know what i want to dot down.. </p>
<p>like make a symbol.</p>
          <br/>
          <span style="color:red;">
            <a href="http://mathgl.javaeye.com/blog/124744#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 17 Sep 2007 14:49:06 +0800</pubDate>
        <link>http://mathgl.javaeye.com/blog/124744</link>
        <guid>http://mathgl.javaeye.com/blog/124744</guid>
      </item>
  </channel>
</rss>