1)商业应用闹剧:
我认为整个“企业”框架都是烟和镜子。J2EE,.NET,大多数Apache框架和大多数用于管理此类事物的抽象所带来的复杂性远超过其解决的复杂性。
采取任何常规的Java或.NET ORM,或采用任何所谓的现代MVC框架,只要它们能“神奇”地解决繁琐而简单的任务即可。您最终要编写大量难以验证和快速编写的难看的XML样板。您拥有大量的API,其中一半仅用于集成其他API的工作,无法回收的接口以及仅用于克服Java和C#的灵活性的抽象类。我们根本不需要大部分。
具有自己简明的描述符语法的所有不同应用程序服务器,过于复杂的数据库和群件产品又如何呢?
这样做的目的不是复杂性==坏,而是不必要的复杂性==坏。我曾在大型企业安装中工作过,其中某些安装是必需的,但即使在大多数情况下,也需要一些本地编写的脚本和简单的Web前端来解决大多数用例。
我将尝试用简单的Web框架,开源数据库和琐碎的编程结构替换所有这些企业应用程序。
2)所需的n年经验:
除非您需要顾问或技术人员来处理与应用程序,API或框架相关的特定问题,否则您实际上并不需要在该应用程序上具有5年经验的人员。您需要一名能够阅读文档的开发人员/管理员,具有您所从事工作领域的专业知识并且可以快速学习。如果您需要使用某种语言进行开发,那么体面的开发人员将在不到2个月的时间内就将其投入使用。如果您需要X Web服务器的管理员,则他应该在两天内阅读手册页和新闻组,并尽快上手。少花钱,那个人就不值得他得到报酬。
3)常见的“计算机科学”学位课程:
大多数计算机科学和软件工程学位是牛。如果您的第一种编程语言是Java或C#,则您做错了什么。如果您没有修满几门关于代数和数学的课程,那就错了。如果您不深入研究函数式编程,那是不完整的。如果您不能将循环不变式应用于琐碎的for循环,那么作为一名假定的计算机科学家,您就不值得花些功夫。如果您具有x和y语言以及面向对象的经验,那么它充满了s ***。真正的计算机科学家会从所使用的概念和语法的角度看待一种语言,并将编程方法视为众多方法中的一种,并且对这两种基本哲学都有很好的理解,因此应该选择新的语言,设计方法或规范语言。琐碎的。