我真的很想成为一个认真的程序员,人们钦佩黑客的类型,而不是一个甚至无法完成FizzBuzz的企业无人机.
目前我已经掌握了几种语言,我的大多数经验都是在Perl和Shell中,而且我在Ruby中略微涉足过.
但是,我不禁觉得虽然我知道一点点语言,但我不知道如何编程.
我真的不急于立即学习一种能让我找到工作的语言(虽然我很快就会这样做),而且我正在考虑使用PLT Scheme(现在称为Racket)来完成如何设计程序或计算机程序的结构和解释,本质上是计划经典之一,因为我一直听说他们教人们如何编写高质量,可用,可读的代码.
然而,即使麻省理工学院也将其入门课程从使用SICP和Scheme改为使用Python.
所以,我在这里要求许多有经验的程序员提供有关以下内容的圣人建议:
谢谢,抱歉漫无边际.
Ada*_*and 11
如果你想学习真正的编程,那就开始做吧.退出dabbling并编写代码.选择一种语言并编写代码.解决问题并发布应用程序.与经验丰富的程序员一起开发开源项目,但要做到.很多.
大概.可能比Y Timespan书籍中的任何Learn X更好.
是.
只有你打算找到一份工作.Scheme会给你一个更好的基础.
我做emacs elisp摆弄调整我的emacs.我也使用功能语言来试图保持灵活性.
我个人认为,在学生声称对编程有所了解之前,基本上需要走两条曲目.跟踪一个是机器本身,即计算机.您应该从这里开始组装并了解计算机的工作原理.经过一些工作和理解 - 不要吝啬 - 你应该学习C然后学习C++; 真正理解资源管理和真正发生的事情.Track 2是非常高级的语言轨道 - Scheme,Prolog,Haskell,Perl,Python,C#,Java以及在VM或解释器上执行的其他语言位于此区域.这些也需要进行研究,以了解如何以不同方式抽象和思考问题,而这些方式不涉及真实计算机的繁琐部分.
然而,是什么将无法正常工作是学习编程的时候是一个语言外行.你需要找一种语言 - 方案是可以接受的,虽然我建议先从低级开始 - 然后至少坚持使用那种语言好一年.
Scheme中最重要的部分是您可以接受的编程语言概念,现代语言现在只是采用或添加支持.
在大多数其他语言之前,Lisp和Scheme支持了当时通常具有革命性的特性:闭包和一阶函数,continuation,卫生宏等.C没有这些.
但它们越来越多地出现在今天获取东西的编程语言中.为什么你只能在JavaScript中声明函数?您在函数中引用的外部变量会发生什么?PHP 5.3 刚刚获得的这些新"闭包"是什么?什么是"副作用",为什么它们对并行计算有害?Ruby中的"延续"是什么?LINQ函数如何工作?什么是Python中的"lambda"?F#有什么大不了的?
这些都是学习计划将回答的问题,但C不会.
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |