可能多数朋友都不知道,其实我是理科生,码农出身,我们码农的祖师爷叫做Ada Lovelace。没错,祖师爷是一位优雅的女士,她的姓氏也很有名-拜伦,浪漫主义诗人拜伦就是其父,鲁迅先生翻译的《唐璜》就是拜伦的著作之一。
作为曾经的码农,过往我们的开发并没有太多用到显卡,除非是专业的游戏开发类型的大咖,否则基本上都是和代码打交道为主。
早期我们做开发,并不会刻意去找配置高的电脑去做开发。首先,程序设计核心还是在于思维,而不是运行速度,而且在高端机上面可以轻轻松松实现的东西,有可能意味着脱离了用户的实际情况。
毕竟更多的用户采用的主流配置还是以性价比为主,而且不少朋友还是继续使用旧设备,太过于超前的设计必然会脱离群众。
相信很多人会说,一个上古的编程语言有啥说服力呢?不好意思,真正的上古的C、C++语言开发出来的东西,上限非常高。比方说,Linux就是基于C语言开发的。
Linux本来就是在Unix上面精简而来的,从Linux上面才有了后面的安卓、IOS系列,也就是我们现在智能手机平台的底层。
所谓高大上的mac系统,底层也是C语言开发的,部分用上C++。同样,Windows系统、office系列软件、IE、Safari、Google Chrome、Firefox浏览器,都和C或者c++有着千丝万缕的关系。
可以说,并不是上古程序设计语言不行,而是设计者上限不行。
后续的PHP、JAVA、C#一类的语言,在开发环境、跨平台、管理便利性、安全性上面有明显的进步,但从效率而言,C++依然占据着巨大的优势。
作计算机硬件,可以实现非常高效的代码,因此C++在一些对性能要求很高的领域(如游戏、图形处理等)得到广泛应用。而Java由于需要通过虚拟机来运行,其性能相对较低,因此在一些对性能要求很高的领域可能不太适用。不过,Java也有很多优点,比如良好的跨平台性能和易于编写的特点,这使得Java在企业级应用、大数据处理、移动应用等领域得到广泛应用。
在生活实际中,C++和Java的应用也有很多不同之处。例如,在游戏开发领域,许多游戏使用C++来实现高效的图形处理和物理模拟。而在企业级应用中,Java得到广泛应用,许多大型企业的后端系统都是基于Java技术开发的。另外,在移动应用开发中,Java也有很好的应用,许多Android应用都是使用Java编写的。除此之外,C++还有很多其他的应用领域,比如操作系统开发、驱动程序开发、嵌入式系统开发等。总的来说,C++适合于对性能要求较高的领域,而Java适合于对跨平台性和易于开发要求较高的领域。
当然了,现在的程序开发并不是只用到CPU。通用计算就是能让CPU和GPU协同运算,甚至GPU的作用更加巨大。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVIDIA推出CUDA,让显卡可以用于图像计算以外的目的。
G80核心之后的的显卡都能使用CUDA,工具集的核心是一个C语言编译器。G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
CUDA的SDK中的编译器和开发平台支持Windows、Linux系统,可以与Visual Studio2005,2008,2010集成在一起。
CUDA
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
对于专业设计人士来说,CUDA通用计算加速的效率还是非常可观的。CUDA运算是NVIDIA的,自然就需要NVIDIA的独立显卡,而且对于显存方面有一定的要求,一般来说不低于4GB显存,6GB更好。
所以说,编程需要不需要一张高性能的显卡,关键是你采用的开发环境。新一代的开发语言,有着更新的功能,面向新领域,但并不代表传统的语言开发就完完全全过时。与其问没有独显能不能编程,还不如问问,你的显卡到底用来干嘛?
为啥不能?几十年前没这两型号的硬件难道不编程吗?
硬盘还没有我内存大,整机还没有我U贵,还想编程?[得瑟]
这么强大的主机,扫雷应该可以吧?
别人我不知道,但小编一定不能,就冲运行内存这个外行才会使用的词汇
当然不行,开机都冒烟![呲牙笑]
前人只用64K内存就登上了月球
8086都用过来了,你说呢