寻找新的学习内容的汇编/C/Python/Perl/Lisp/Scheme程序员
我现在在工作中用Python/Django,所以想找个在家做的项目。想学点新东西,所以我在考虑看看Java。
请问,哪个Java的网页框架最受欢迎,适合用来开发网页应用?我不想看Ruby on Rails,因为它的ORM(对象关系映射)和其他部分跟Django太像了。
另外,有人觉得我应该看看Seaside或Smalltalk吗?能不能给我解释一下为什么值得一看?
如果有人能给我说说Haskell的好处,我也会考虑它。不过我需要一个网页框架和数据库访问库来配合使用。
如果我不是那么习惯用x86/asm的堆栈模式,我也会考虑Factor或Forth。对此如果有人有不同的看法,我也很乐意听听。
另见: http://www.reddit.com/r/programming/comments/9v3uf/asm_c_python_perl_lisp_scheme_programmer_looking/
12 个回答
Haskell 现在挺受欢迎的,很多人觉得它有点难懂,不过如果你已经会 Lisp 和 Scheme,那就简单多了。Haskell 是一种纯函数式编程语言,这意味着它的每个操作都不会对其他操作产生影响,也就是说没有副作用。你需要用单子(monads)来打印文本和做一些需要特定顺序的事情。此外,Haskell 还采用了惰性求值,这样你可以创建无限长的列表,而不用担心会占用太多内存。
Haskell 平台 可能还不算完全,但它的目标是提供一套可移植的 Haskell 库。它的 包列表 中包括了一些用于 CGI 处理和 (X)HTML 生成的工具。
既然你已经掌握了那么多技能,为什么不尝试一些与你的专业无关的新东西,比如木工、绘画,或者其他成百上千的技能呢?
其实,所有编程语言在某种程度上都是相似的,学会另一种语言对你帮助不大。
而尝试一些完全不同的事情,会让你变得更加全面。我个人喜欢绘画和打高尔夫,虽然我在这两方面都不是特别厉害——我问我的高尔夫教练我的水平如何,他说我的问题是打不直球 :-)
我发现我其实很享受做一些我不太熟悉的事情,因为那是一种全新的体验。过一段时间后,学习另一项计算机技能就变得很简单,因此从中获得的乐趣也会减少。
别误会,我还是喜欢跟进行业的发展,但大多数情况下,新技术对我的职业生涯帮助不大,因为我做的工作大多是在稳定的技术上。你可能处于不同的情况。
听起来你对网页编程很感兴趣,所以小谈(Smalltalk)和海滨(Seaside)是个不错的选择。在我看来,每个人都应该学习小谈,即使他们可能永远用不到它,而海滨的网页框架和你习惯的框架真的很不一样。比如说,Django主要是围绕REST(一个网络通信标准)来设计的,而海滨的理念基本上就是“去你的REST”。
如果你从来没有在基于图像的环境中编程过,那种感觉真的是……很自然,甚至有点神奇。很多在小谈中出现的IDE(集成开发环境)功能,后来也被引入到基于文件的编程语言IDE中,但总感觉那种功能在小谈里才是最合适的,像是自然而然就应该在那里。
你可以试试Pharo。给自己一些时间去适应没有菜单栏的感觉,看看它是否能吸引你。