首先很多人会开口问我,你学C++就是为了去做游戏吗?C++是真的只适合去做游戏吗。毕竟我都很少看到C++程序员,我也很少看到关于C++的应用。或许看到这里您会对这些提问的嗤之以鼻。“他们是真的不懂”。但其实学习这么久的你。真的了解C++吗?
对于C ++编程语言(这应适用于大多数编程语言,也许适用于所有编程语言),它是按原则进行设计的。任何编程语言都旨在解决创建者试图解决的某些问题。我认为没有人会无缘无故想出一些新的奇特的语言。因此,了解支持它的目的和原则至关重要。
C ++最初是为解决系统问题而设计的。Bjarne Stroustrup创建了C ++来帮助他的团队解决当时的问题,他希望拥有一种“接近机器”的语言。因此,C ++被设计为一种高效的语言。结果,它非常适合系统(低级)编程和游戏编程。我相信这是大多数开发人员对C ++和C的印象。
但是随着C ++的发展(不仅是现在,而是几十年前),C ++成为一种“ 通用” 语言,您不仅可以用来解决系统和游戏问题。
作为开发人员,我们计划解决问题。是我们还是我们的客户。编程语言只是工具。没有适合您工作的好工具,只有正确的工具。是否为我的工作选择C ++。你需要考虑以下几点,当然只是个人建议。
1.我的工作基础是什么。如果我要修改现有项目,除非有无法解决的重大问题,否则我一定会使用相同的语言。例如,我有一个Java代码库,但是我需要一些与图形库直接交互的功能,我可能会考虑创建JNI接口来与专用的C ++ / C库交互。
2.系统约束。如果我的程序需要在资源有限甚至功能强大的系统中运行,但负担很重。意味着我必须考虑效率,我会更喜欢C ++。C ++被设计为“ 您不需要为不需要的东西付钱”。我完全控制该程序将从系统消耗什么。我不必担心简单结构的内存消耗,因为垃圾收集会导致额外的属性。
3.跨平台。如果我的程序需要在不重新编译的情况下在其他平台上运行,则绝对不能选择C ++。在此应考虑Java / C#之类的语言。但是,如果允许我为不同平台提供不同的目标,那么考虑到上面提到的内容,C ++将列在清单中。
4.资源权衡。这与项目管理更多相关,但是语言选择也是其中的一部分。我们的资源(时间,开发人员数量等)和项目目标(易用性,高性能等)有限。哪一个最重要?时间?用户界面?性能?在决定使用哪种语言之前,请确保您了解真正要完成的工作。切勿因为语言本身而选择语言。应选择适合的语言。
知道工具总是有帮助的。当您想剪纸时,您可以选择使用切纸器或剪刀。如果您不知道什么是切纸机以及它的功能,您可以做出正确的决定吗?如果想将纸直切,会选择剪刀吗?
人们倾向于在生活中做出正确的决定,但是当涉及到编程时,我们大多数人似乎只是忘记了。语言只是一种工具。
领取专属 10元无门槛券
私享最新 技术干货