我想玩计算机的不会否认程序算法的重要性,但是,就我所知,如果没有对数学等方面的狂热爱好,玩算法是玩不下去的……因为太累而且学了之后不知道干什么用——除了A题之外。
不过对于初学者来说,A题是一件很有趣的事情吗?我不知道……但是就我的经验而已,那个时候我迫切的希望能写出一个不在黑框框下工作的程序——我在windows下学习的c++。 因此C#(当然,java也是一样)对于我来说是一件更有趣而且易学的编程语言。 C是一门不错的语言,C++也是……当然我不否认这门语言的模板出错的时候会报出毫无帮助的出错信息……但是微软的MFC依然基于这个,一些很不错的软件也是用C++来写的——当然,对于C语言的兼容性而言,你可以说他不兼容C99。 不过C++的新标准0x也已经出来了,在目前多核程序开发,以及lambda表达式等一些很有趣的方面做了提升…… 不过依然的,C与C++对于毫无编程基础的童鞋来说,某些部分过于晦涩……在给予了自由性的同时,也造成了无穷无尽的麻烦……任何debug过初学者写出的这种程序的人恐怕都深有体会…… 因此,我个人的推荐,也是从我的经历出发,先从高级语言开始……纯粹面向对象的语言开始,再慢慢的底层化思想……C#和Java毕竟还是行为预测性高一些,报的错误容易理解,也容易跟踪调试,而且有大量的文档,虽然速度慢了些,但是也能开发出很不错的程序。 python的话,入门很不错,不过中文资源是一个小小的问题,而且有一点,我实在是不能习惯这类语言用缩进来表示层次……Basic就够受的了…… 当然,这类语言的特征就是写的很少,做了很多,但是个人用起来还是觉得有种不真实感,所以用的比较少。 算法的话,不是说不能推荐,但是个人觉得,最好是语法什么的打牢,有一定的编程基础的时候,适当的接触一些…… 算法确实是基础,但是个人认为,真正工作中,能判断算法优劣性,大致的判断出在什么情况下用什么算法就很不错了……真正实现一颗B+树作为数据库?很少有公司这么干的吧……而且自己写的算法,要花大力气去测试……生产环境下使用未大量测试的关键程序感觉在找死…… 零零碎碎说了些,希望对需要的童鞋有所帮助。 ----- 原邮件 ----- 发件人: 林孟潇 <linmx0...@gmail.com> 收件人: ubuntu-zh mailing lists <ubuntu-zh@lists.ubuntu.com> 抄送: 发送日期: 2012年2月23日, 星期四, 下午 9:48 主题: Re: [Ubuntu-zh] 回复: 学那个语言先 作为一个OIer表示压力真的相当大。 其实算法是计算机世界中最经典的思想,学习它的目的不仅仅是为了提高程序效率,更重要的是学习一种逻辑思想:问题原型的转化,从问题原型入手解决问题而不是片面停留于表面事物。 不过作为真正的程序员,算法像是中式早餐稀饭油条馒头与榨菜中的榨菜。虽然不能直接充饥,但是一方面开胃,另一方面也是使你的工作变得更丰富,不要过于死板。 2012/2/23 ZL.Shang <shangzhan...@gmail.com> > 肯定不能啊 > > 发送自HTC手机 > > ----- Reply message ----- > 发件人: "huoteihj" <huote...@gmail.com> > 收件人: "ubuntu-zh mailing lists" <ubuntu-zh@lists.ubuntu.com> > 主题: [Ubuntu-zh] 学那个语言先 > 日期: 周四, 2 月 23 日, 2012 年 06:39 > > > On Thursday, February 23, 2012 02:09 PM, ZL.Shang wrote: > > 对的 > > > > Sent from my HTC > > > > ----- Reply message ----- > > From: "柴锋"<sangedaib...@gmail.com> > > To: "ubuntu-zh mailing lists"<ubuntu-zh@lists.ubuntu.com> > > Subject: [Ubuntu-zh] 学那个语言先 > > Date: Wed, Feb 22, 2012 11:48 pm > > > > > > 没错,算法只是编程思想中的一个重要部分,现实工作中更多的问题是用算法无法解决的。 > > > > 2012/2/23 ZL.Shang<shangzhan...@gmail.com> > > > >> 那你学的是IOI或者NOI,不是真正的编程。个人认为编程是通过程序语言来实现自己的idea,而不仅仅是解决个什么问题之类的 > >> > >> Sent from my HTC > >> > >> ----- Reply message ----- > >> From: "Neo Ko"<neo.black...@gmail.com> > >> To: "ubuntu-zh mailing lists"<ubuntu-zh@lists.ubuntu.com> > >> Subject: [Ubuntu-zh] 学那个语言先 > >> Date: Wed, Feb 22, 2012 10:00 pm > >> > >> > >> 编程思想不是指算法吗?我觉得编程就是通过程序员将一些问题抽象成数学问题,然后用编程语言来解决,跟做数学题差不多。“Project > >> Euler”不就是这样的吗? > >> > >> 在 2012年2月23日 上午11:46,柴锋<sangedaib...@gmail.com>写道: > >> > >>> 可能只是学完了C的语法,如果真是这样,真不叫“学完”。 > >>> > >>> 有感于“学完”,吐槽几句。 > >>> > >>> 如果以后学习其他编程语言,也是这个要求的话,那还不如不学。 > >>> > >>> 学习语法真的很容易,死记硬背也能记得住。重点是要学会这个语言背后的文化和思想,进而学会用一种更加高层的思维去解决具体的编程问题。 > >>> > >>> > >>> > >> > 如果非要给你一个建议,那就是尽可能的去理解不同语言背后的思想,要深入的思考。尤其是具有较大思维差异的编程语言,这样会让你的思维变得更加宽阔。如果让你考虑几种语言之间的区别,还仅仅局限于不同的语法规则、不同的类库上面时,那就说明你还没有“学完”。 > >>> 如果还非要给出具体的语言,Bash > shell、awk、Java、Perl、Python、Ruby、Lisp、等等等等,重点是学会“编程的思维”。 > >>> > >>> 2012/2/23 Stalin.S.Working<shangzhan...@gmail.com> > >>> > >>>> On 12-02-22 07:11 AM, huoteihj wrote: > >>>> > >>>>> 刚学玩C语 言。 > >>>>> > >>>>> 想知道下一步学什么??? > >>>>> 学C++还是,shell??? > >>>>> 我 是打算玩linux的了,开始慢慢放弃windows。 > >>>>> > >>>>> 学完是什么意思? > >>>> > >>>> -- > >>>> ubuntu-zh mailing list > >>>> ubuntu-zh@lists.ubuntu.com > >>>> https://lists.ubuntu.com/**mailman/listinfo/ubuntu-zh< > >>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh> > >>> -------------- 下一部分 -------------- > >>> 一个HTML附件被移除... > >>> URL:< > >>> > >> > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120223/44a272ef/attachment.html > >>> -- > >>> ubuntu-zh mailing list > >>> ubuntu-zh@lists.ubuntu.com > >>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > >>> > >> -------------- 下一部分 -------------- > >> 一个HTML附件被移除... > >> URL:< > >> > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120223/5ffd064c/attachment.html > >> -- > >> ubuntu-zh mailing list > >> ubuntu-zh@lists.ubuntu.com > >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > >> -------------- 下一部分 -------------- > >> 一个HTML附件被移除... > >> URL:< > >> > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120222/3a69584a/attachment.html > >> -- > >> ubuntu-zh mailing list > >> ubuntu-zh@lists.ubuntu.com > >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > >> > > -------------- 下一部分 -------------- > > 一个HTML附件被移除... > > URL:< > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120223/99f5bbc3/attachment.html > > > 有没有关于C语言的Emaillist???加一个学习学习。 > 其实C语言还是很灵活的,不可能死记吧??? > > -- > ubuntu-zh mailing list > ubuntu-zh@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -------------- 下一部分 -------------- > 一个HTML附件被移除... > URL: < > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120223/d6d6337e/attachment.html > > > -- > ubuntu-zh mailing list > ubuntu-zh@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120223/c2c79d08/attachment.html> -- ubuntu-zh mailing list ubuntu-zh@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh -- ubuntu-zh mailing list ubuntu-zh@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh