我是一个有抱负的开发人员,想要建立像PayPal这样的大型系统.我应该遵循哪条路?

cod*_*key 9 asp.net programming-languages web-services web-applications network-protocols

我是非洲埃塞俄比亚的第二年计算机工程专业的学生.我们已经学习了C和C++,并且我已经教我自己的HTML,CSS,PHP(cakePHP框架)和小javascript,JQUERY和mySQL来开发像博客一样的小系统.但我想建立安全可靠的大型系统.我非常谦虚地看到非常聪明且经验丰富的开发人员.我一开始就想要遵循哪个(即ASP.NET或PHP)以及我应该学习哪些其他语言或系统来实现这一目标.提前致谢.

PS.我可以处理任何类型的数学.

bac*_*dos 7

我觉得自己就像一位老人,但是你会发现,软件开发中最大的两个挑战是:

  • 代码重用 - 能够编写可重用的代码.对于代码在其编写的同一软件中可以重复使用,这一点并不明显.很可能,当你打开代码时,你会在浪费几个小时试图修改它并决定不在下一个版本的软件中重复使用,而是在重写之后自己面对.编写代码是一门真正的艺术,可以重复使用,同样,重用代码也是一门真正的艺术.软件开发人员总是希望重写并重新发明轮子.好有趣.但它不会让你走得很远.
  • 实际使用 - 编写有用的软件并不明显.因为软件开发人员对软件的期望与他们的应用程序的用户完全不同.我们倾向于过度工程化,过度优化和过度复杂化的东西,投入太多的功能,以考虑太多的假设.我们更喜欢专注于有趣的部分,而不是通过良好的用户界面或其他无聊,耗时且无益的问题来解决问题.我们生产了许多没人想要或能够使用的产品.

这如何回答你的问题?

  • 代码重用:您必须掌握这一点.熟悉许多库和框架.设计一个应用程序,然后尝试使用现有的组件和体系结构将它们连接在一起.编写胶水代码是最难和最重要的任务.此外,在您创建这样一个大型系统的愿望中,挑出系统的单独任务,并尝试编写针对这些单个任务的自己的组件.尝试使每个都强大和可重用.不要试图一次建立一个完整的系统.你会失败的.你可能会学到一些东西,也许很多东西,但你会失败(或者你是一个疯狂的天才).
  • 实际使用:嗯,想要创建像PayPal一样大的东西是非常雄心勃勃的,但尽量不要创造大的东西.尝试创造好的东西.很好,因为它是有用的,可用的和使用的.你会及时看到,这很难.尝试创造一些其他人使用并且满意的东西.

专注于在这两个方面做得更好.选择您喜欢并认为适合完成任务的任何库/框架/平台/语言.由于种种原因,恕我直言PHP并不是一个很好的语言,但最后,你应该使用你喜欢的东西并且感觉很好.我个人使用haXe来完成我的项目.你可能想尝试一下.最后,我认为你应该尝试许多语言和框架来掌握不同的概念.你将学习的大多数东西,超越具体的语言和框架,但你只能通过真正,非常了解它们中的一些来学习它们.

在结束之前,我想指出你的5条诫命 ;)

greetz
back2dos