西西河

主题:【原创】也来说说Linux和Windows下的开发感受 -- 昔杨今雨

共:💬203 🌺502
分页树展主题 · 全看首页 上页
/ 14
下页 末页
        • 家园 是不是Windows 程序员还应包括

          我还是从外行的角度出发:

          是不是Windows程序员还应包括 C/C++/API 和 C++/MFC呢?像C/C++/API这些东东是亚底层的东东?

          还有几个问题: Linux + IDE = Windows ? (如果把Linux单纯理解为命令行模式, 或者可以说Linux是个高度发达的DOS?还有总听到linux程序员windows程序员,两者有什么重要和主要的不同?谢谢啦)

          • 家园 windows和linux程序员主要差别在不同的哲学

            windows也有不使用ide的可能,他们之间最大的差别我想更多的在哲学的高度上。

            不管windows还是linux程序员,都是从高级到底层都有的。windows程序员走在一条宽阔平坦的路上,路两边有路灯和高高的护栏,外面的人进不来,你也别想出去,你只能沿着微软帮你修好的路走下去,不要考虑其他方向。优点是路好走,速度快。

            linux程序员恰恰相反,你走在一片旷野里,有很多羊肠小道,路面高低起伏,没有确定的方向,有的路开始走着挺顺,但可能突然就走到头了,不过你身上有个手电筒,想看哪里想走到哪里都没人管你,你高兴了也可以走到没有路的地方,自己踩一条出来,但有没有人跟你一起走就难说了。

      • 家园 不应把windows编程简化为vb编程

        举个例子,若干年前的VB程序员,现在恐怕已经失业了,或者只能捏着鼻子学C#(天知道几年后微软还会搞什么新的花样)。

        懒厨在简单聊聊我的看法中提到:

        另外一方面,作为开发人员,常有人在江湖,身不由己的感慨。以我为例,读书时,最喜欢的是C语言,深为其简洁高效的语法折服。可是出来工作,为五斗米折腰,一直用VB用到现在。

        其实,VB程序员转到VB.NET比到C#更近一些。

        windows下面编程也可以用跨平台的语言,例如java和python等,这些产品基本上可以直接拿到linux环境使用。

        积累的学问和经验不会没用的,哪怕是vb的编程经验,转到其它语言时仍然会有很大的助益,总比没有学过任何语言的新手要快得多。

        • 家园 也未必,经验有时候也是个问题。

          我认识一些有10年左右c经验的程序员, 转换到java这块来说非常辛苦,因为思维模式无法转换。

          他们习惯了意大利面条时的编程风格,更看重效率和算法,也习惯了简单低效的工作方式, 接触新社会以后世界几乎都崩溃了。

          大约7,8年前,认识的一批powerbuild程序员也有此类问题, 大部分当时就转行了。

          当然也不是全部,有些人就是学什么都是好手,还是取决于思维的习惯。

          • 家园 意大利面条时的编程风格?

            哈,这个名称俺还是第一次听到,不过用来形容C语言不是很适合吧?

            • 家园 呵呵,老一代的c程序员里面很多

              这个词不是我发明的,专门用来形容那种一个函数动不动就几百,上千行的风格。

              我看过一个python程序员也是这么写东西的, 比较头疼, 外人根本看不懂。

              • 家园 老兄如果有时间的话,可否

                老兄如果有时间的话,可否单独开个帖子,介绍下关于编程风格的东东,比如介绍下老的编程员是如何安排上万行代码,如今良好的编程风格应该是什么样的等等,我想这应该是一部侧面的历史了,一定很有趣。

                因为我们这些外行,最多写个几百行实现几个功能就可以了。但有时不得不遇到别人的专业代码要读读,对于这点及其头大,比如他们所有函数放一起,所有class放一起,或是单独开好多文件,然后在统一编译,还有什么makefile什么啦,还有些默认的写法啦,哦,云里雾里,这些都是我们这些外行想了解的,老兄如果能写写,不胜感激。

                • 家园 有专门这样的一本书,讲述怎么阅读这种代码的

                  这个已经不是一篇文章可以讲清楚的,甚至直到现在,我对这个问题的基本态度都是,可能的话,重写,呵呵。

                  另外,国内环境所迫,很多程序员有故意写这种风格的代码习惯,这样可以有效保护自己的个人利益,虽然很无聊。

                  • 家园 hehe, 会个老帖子

                    另外,国内环境所迫,很多程序员有故意写这种风格的代码习惯,这样可以有效保护自己的个人利益,虽然很无聊。

                    花旗国的洋IT民工也这样,程度有差别,不这样的是少数。

                  • 家园 兄台虽寥寥数字,但却令俺顿开茅塞

                    兄台虽寥寥数字,但却已使俺顿开茅塞,多谢多谢

                    所以专业人士也有烦心之处,别人用这个语言写的,虽然不是你擅长,但你必须接着写,别人是这个算法思路,你必须接着这个思路走,哈,谁让你是吃这碗饭的呢?

                    • 家园 呵呵,所以程序员是很考验沟通能力的

                      读懂别人的代码,除了底层的基础知识, 算法,很多时候还和思考问题的习惯有关系。

                      某些语言,类似ruby这样的,语法就是冗余的,同样水平的程序员,都会可能有n种实现方式,张三的习惯,李四可能一辈子都不会用, 碰到这种代码头最大,不过也蛮有趣的。综合来说,还是java的代码最好维护。

                      实在绕不过去的代码,我可能更喜欢小步重构,一小口一小口的吃,这要依赖于工具了。

                      你做c的么?我都10年没碰过着玩意了。

                      • 家园 仅从语法上看ruby是个异类

                        好的ruby代码看起来跟篇英文文章似的,阅读非常舒服,很难想象是个母语不是英文的日本人的作品。

                        3.times do ... end

                        这样的语法,真没话说了

                      • 家园 折杀小弟啦!!!

                        你做c的么?

                        折杀小弟啦!!! 小弟可是是外行中的外行啊。小弟编程兴趣的起因着实让所有人匪夷所思。倒是主要用C/C++来实现、验算一下产品物流中的算法,因为都是外行,所以最近在学Win-Api,希望达到些图形效果,让兄台或专业人士看了,无异于过家家罢了。不过我接触的人好像都在用VB,俺算异类,哈。

                        java因为当年课程需要必须学,哦,耶!!!老兄那句话真牛:

                        "我认识一些有10年左右c经验的程序员, 转换到java这块来说非常辛苦,因为思维模式无法转换。"

                        那些程序员都辛苦,而况我乎!"java凡事class",当年实在痛苦自责之极,这句话解开了我当年的另一困惑,再次谢过啦!

                        不过要是思维模式换了,另当别论了。我现在认识一哥们(他只用Linux和Python),他说的和兄台一样,java的语法逻辑严密,非常清晰。

                        实在绕不过去的代码,我可能更喜欢小步重构,一小口一小口的吃,这要依赖于工具了。

                        什么是小步重构?老兄也有绕不过去的代码?是算法思路吗?

                        • 家园 术业有专攻,

                          专业技术人员熟练掌握1,2本程序语言也是工作需要,很自然的。

                          c程序员转换困难是因为很多人已经习惯了过程化的考虑问题方式,再加上早些年对软件工程,代码维护这些研究的不多,做东西很少考虑维护和架构方面的东西,思维模式基本都是线性结构的,分不了层次,形不成立体感, 那么要转到oo的方式考虑问题自然非常的痛苦,一部分c++程序员也是。

                          老实说,你要是干的是你说的那样,我觉得c/c++确实不是好选择, 主要是考虑维护性(专业程序员和业余程序员的一个重大区别也在此),语法太复杂太灵活的东西都不适合维护,用的人少,维护就更困难,代码毕竟是需要交流的。你倒是可以考虑转c#看看, 语法比java灵活,结构要比c++严谨。 最重要的是懂得人多,容易交流和维护。这样你可以把主要精力花在解决专业问题上。用vb写程序其实也没啥不好, 我大概用了2,3年吧,不过这种不是真正OO的语言用起来约束比较多, 后来再回win平台就换c#了。

                          我10多年前花了很多精力学习c,曾经把dos下的所有外部命令用C重写了一边,当时清华厚厚的一本程序集也全部吃透, 但是到现在,我啥都不记得了, c++也是,10年中陆续学了3,4次, 每次都是半年不用就彻底忘记。这类语言确实不适合懒惰,缺乏耐心,又不喜欢追求细节的人。我一直都是那种很不勤奋的人, 所以学东西不扎实,复杂点的东西我很容易忘,呵呵。

                          不管你用什么语言做开发, 我都建议你找重构(Refactoring)这本书看一下,对你怎么组织程序结构,怎么修改别人的代码会有很好的帮助。 另外代码大全, 编程珠玑这种描述程序代码规范和风格的书也很值得一看。

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


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

Copyright © cchere 西西河