`
RednaxelaFX
  • 浏览: 3052787 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

Eric说It's not magic

    博客分类:
  • misc
阅读更多
先前我又发牢骚写了篇避免重复代码——know your library(续),主要是说如果标准库里有了某些功能那我们就别浪费时间在自己的代码里重复实现同一功能。重复实现功能在许多情况下不是什么好事,可能带来更大的维护负担,无法跟随标准库实现的更新而得到更新,等等。
不过Eric Lippert在昨天的一篇文,It’s not magic!,讨论的方向很明显是从另一个角度出发的:假如我要面试一个应聘者,而我的小组正是以实现那些基本功能的库为任务的,那我自然得要求应聘者具备实现它们的能力。Eric举了个“guaranteed-to-be-unique “cookie” value of some sort”的例子,我们也可以用别的例子来类比:如果你的任务就是去实现STL,那么里面的容器、空间分配器、traits等的实现细节当然要知道;如果你的任务是实现操作系统内核,那么C标准库里的malloc()都用不了,你正是应该提供它的人;它们不是“神奇的就存在”在那里的,而是人们分析问题并用代码来解决的。

Hmm,当然我不认为我的观点与Eric的矛盾,只是场景不同而已。不过这又一次提醒我得定时温习基础知识,不然“高级”代码写多了,基础会生锈……
分享到:
评论
7 楼 RednaxelaFX 2009-06-26  
ivyloo 写道
其实看优秀的代码是最好的学习方式,
“不要重复制造轮子”是在实践中很有道理的,
但是当我们学习时,应该尝试着自己制造已有的轮子,
通过和已有的那些优秀的比较,才能发现差距,学习也就很快的了。

小伙子,看你年龄随不大,知道的挺多的,
我也曾经有过想你这样的同学,大学时牛的很,但是由于自我感觉良好,
就会变得浮躁,学习不深入了,
所以,建议你,戒骄戒躁,认真踏实的学习,
别像JE中的那些小孩一样整天狂飙技术,而基础不牢,成下一个方仲永,

祝你成功!

谢谢!我会努力的,基础和高级的部分都不会放松~不,应该说要好好恶补一下基础了,总算开始有时间了……
6 楼 ivyloo 2009-06-26  
其实看优秀的代码是最好的学习方式,
“不要重复制造轮子”是在实践中很有道理的,
但是当我们学习时,应该尝试着自己制造已有的轮子,
通过和已有的那些优秀的比较,才能发现差距,学习也就很快的了。

小伙子,看你年龄随不大,知道的挺多的,
我也曾经有过想你这样的同学,大学时牛的很,但是由于自我感觉良好,
就会变得浮躁,学习不深入了,
所以,建议你,戒骄戒躁,认真踏实的学习,
别像JE中的那些小孩一样整天狂飙技术,而基础不牢,成下一个方仲永,

祝你成功!
5 楼 cajon 2009-03-23  
RednaxelaFX 写道

cajon 写道不写 != 不能
呵呵,可是太久不写就是容易生锈啊。上星期我写C++代码的时候enum块的后面没跟分号害我鼓捣了半小时才弄明白编译器为什么乱实例化我的模板 T T


哈哈,是啊,很久没有动c++,我最近也受了很多这样的苦了。
但是,我不认为我需要经常去复习这些知识。用的时候再查资料吧。我觉的查资料就像是解释执行。记下来就像是编译执行。我们还是找一个更好的平衡点,做JIT吧。

我觉的最重要的是,自己的头脑里应该有这些东西,需要的时候才能够去找相应的资料。比如:贪心算法,背包问题,二叉树,红黑树等等这些经典问题。不一定什么时候,你就会发现了解这些知识可以少走很多弯路呢。

最近的一点感想...
4 楼 RednaxelaFX 2009-03-22  
cajon 写道
不写 != 不能

呵呵,可是太久不写就是容易生锈啊。上星期我写C++代码的时候enum块的后面没跟分号害我鼓捣了半小时才弄明白编译器为什么乱实例化我的模板 T T
3 楼 cajon 2009-03-22  
不写 != 不能 
2 楼 RednaxelaFX 2009-03-21  
night_stalker 写道
我的老师说过:
如果一个咒语是 well-defined 的,那么它是正义的魔法,否则就是黑魔法。

我的老师还说:
80% 的魔法,其构成都是 80% 的正义魔法 + 20% 的黑魔法。

我的老师还补充说:
上面两句咒语是黑魔法。正义的魔法你可以不学,但黑魔法你必须学。

呵呵呵,有意思……
嘛总之能从上面一直吃到底下的话肯定是没错的,就看有没有那根性钻下去。
1 楼 night_stalker 2009-03-21  
我的老师说过:
如果一个咒语是 well-defined 的,那么它是正义的魔法,否则就是黑魔法。

我的老师还说:
80% 的魔法,其构成都是 80% 的正义魔法 + 20% 的黑魔法。

我的老师还补充说:
上面两句咒语是黑魔法。正义的魔法你可以不学,但黑魔法你必须学。

相关推荐

    Eric S. Raymond 五部曲

    总的来说,通过阅读这些文本,读者可以深入理解Eric S. Raymond对于黑客文化的解读,开源软件的哲学,以及在IT行业中如何有效地进行协作和创新。这些内容对于想要在软件开发领域,特别是开源世界中探索的人们来说,...

    eric5-5.3.1

    Please note, the first time you start eric5 it will recognize, that it hasn't been configured yet and will show the configuration dialog. Please take your time and go through all the configuration ...

    eric-ide-zh_CN-master.zip

    《Eric IDE 中文语言包与可视化界面设计器详解》 Eric IDE 是一款开源的 Python 集成开发环境(IDE),其设计目标是提供一个简洁、高效且可高度定制的编程环境。Eric IDE 的中文语言包使得中国用户在使用时能够更加...

    eric最后汉化版.zip

    这个汉化包的适用性非常广泛,即使是最新的IDE版本也能通过它实现汉化,这对于持续关注Eric6更新的开发者来说无疑是一大福音。 安装Eric6_17.12汉化版的过程相对简单。首先,你需要下载这个压缩包"eric最后汉化版....

    eric7-22.1.zip

    "eric7-22.1.zip" 是一个压缩文件...总的来说,"eric7-22.1.zip" 提供了一个便捷的方式,使 Elixir 开发者可以快速获取并使用 Eric IDE,尽管它可能不是最新版本,但仍然能够为 Elixir 项目的开发工作提供强大的支持。

    Eric6-18.08

    Eric6,18.08版。... It provides various features such as any number of open editors, an integrated (remote) debugger, project management facilities, unit test, refactoring and much more.

    eric6 17.12支持中文的最后版本安装包

    此外,由于eric6的界面全面支持中文,这对于中国开发者来说是一个巨大的优势,可以避免语言障碍,提高工作效率。在使用过程中,如果遇到任何问题,可以查阅eric6的官方文档或社区论坛,获取帮助和支持。 总而言之,...

    eric5-5.4.1

    "eric5-5.4.1" 是 Eric 开源集成开发环境 (IDE) 的一个特定版本号,这里的 "5.4.1" 指示了这是 Eric 的第五个主要版本中的第四个次要更新和第一次修订。在软件版本控制中,这种格式通常表示主版本.次版本.修订版本,...

    eric6相关的安装及汉化包

    **eric6相关安装及汉化包** Eric6是一款基于Python编程语言的...总的来说,Eric6是一个功能强大且易于使用的Python开发环境,尤其对于初学者和需要中文界面的用户来说,有了汉化包的配合,它的使用体验将进一步提升。

    eric5-5.4.6

    **eric5-5.4.6:Python UI开发利器** `eric5-5.4.6` 是一个针对Python编程的集成开发环境(IDE),它为用户界面(UI)开发提供了一个...对于那些希望避免手动编写大量UI代码的开发者来说,eric5是一个值得尝试的工具。

    [程序设计抽象思想:C语言描述].Eric.S.Roberts.扫描版

    [程序设计抽象思想:C语言描述].Eric.S.Roberts.扫描版

    eric5-5.1.4及汉化

    下载eric5-5.1.4.zip,eric5-i18n-zh_CN.GB2312-5.1.2.zip,先解压eric5-5.1.4.zip并安装,然后再解压安装eric5-i18n-zh_CN.GB2312-5.2-snapshot-20110724.zip 手动将eric5-i18n-zh_...

    eric6-20.2.zip

    Eric6是一个全功能的Python开发IDE,它本身就是用Python开发的,并且使用了PyQt。Eric6还集成了Scintilla编辑器控制,具有很强大的代码编辑、代码补全等功能。Eric是一个专业的Python项目管理的IDE,它使用了插件...

    Eric S. Raymond五部曲

    Raymond五部曲》是一系列由著名IT人士Eric S. Raymond撰写的著作,主要探讨了黑客文化和开源软件的哲学与实践。这五部作品深入剖析了计算机科学领域内的核心理念,从历史背景到现代发展,为读者提供了一个全面的...

    eric更改字体大小

    这个过程展示了如何自定义Eric的界面以满足个人的视觉需求,尤其是对于视力不佳或者偏好大字体的用户来说,这是一个非常实用的功能。通过掌握QSS,用户可以进一步定制Eric的外观,例如改变颜色主题,调整控件间距等...

    pyqt5+eric6安装包和配置说明

    在Python的图形用户界面开发领域,PyQt5和Eric6是两个非常重要的工具。PyQT5是一个基于Qt库的Python绑定,提供了丰富的GUI组件和功能,而Eric6则是一款集成开发环境(IDE),专为PyQt设计,集成了代码编辑、调试、...

    虚拟光驱 daemon_tools_347cn_eric

    虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱...

    eric6 汉化包 eric6-i18n-zh_CN-17.12

    ERIC6中文语言包最高版本是17-12 .从18-01开始没有新的中文语言包出现,这个也能够支持最新的ERIC6-19 . CSDN现在默认5C币下载.没有C币的我在百度共享了:云链接: https://pan.baidu.com/s/1UDw0r6VyMF4GL1BS4y0HZQ ...

    python IDE eric6

    虽然 PyCharm 在专业版上提供了一些更高级的功能,如更强大的Web开发支持、Docker集成等,但 Eric6 作为免费的替代品,其基础功能已经相当完备,对于初学者和小型项目来说绰绰有余。 5. **学习资源与社区** Eric6...

    eric4-4.4.18

    总的来说,`eric4-4.4.18`是Python开发者的一个强大工具,尤其对于初学者来说,它的易用性和丰富的功能可以加速学习过程,提升编程体验。通过深入理解和熟练使用eric4,程序员可以更高效地实现Python项目的开发。

Global site tag (gtag.js) - Google Analytics