搜索
bottom↓
回复: 43

C++应用是否越来越窄?

[复制链接]

出100入101汤圆

发表于 2017-5-6 22:31:08 | 显示全部楼层 |阅读模式
百度了下,C++真没落了么?
http://www.oschina.net/question/923985_85611?sort=default&p=1
http://bbs.csdn.net/topics/392092437?page=1
http://blog.csdn.net/daiyutage/article/details/15750395
https://www.zhihu.com/question/24309326
https://www.zhihu.com/question/20425384

各位坛友现在用C++的多么?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出100入101汤圆

 楼主| 发表于 2017-5-6 22:42:55 | 显示全部楼层
https://www.zhihu.com/question/27816713
https://www.zhihu.com/question/48753372/answer/112666899

出0入0汤圆

发表于 2017-5-6 23:01:21 | 显示全部楼层
因为太急躁了,C++学习成本大,来钱比较慢。

出0入0汤圆

发表于 2017-5-6 23:05:01 来自手机 | 显示全部楼层
公司想招聘一个qt上位机的很难招聘,后来只能自己来了

出100入101汤圆

 楼主| 发表于 2017-5-6 23:13:04 | 显示全部楼层
C++程序员快要被市场淘汰了吗?http://www.weisanyun.cn/news/news-1526.html

出0入0汤圆

发表于 2017-5-6 23:14:20 | 显示全部楼层
java好玩很多

出100入101汤圆

 楼主| 发表于 2017-5-6 23:21:10 | 显示全部楼层
c++衰落主要是因为其他语言越来越成熟 http://www.newsmth.net/nForum/#!article/ShiDa/66898?au=deliver

出0入0汤圆

发表于 2017-5-6 23:21:59 来自手机 | 显示全部楼层
不会吧,那些什么3D构建,大型游戏等等还是上C++

出100入101汤圆

 楼主| 发表于 2017-5-6 23:24:29 | 显示全部楼层
本帖最后由 fengyunyu 于 2017-5-6 23:30 编辑

光明or黑暗!C++的未来在哪里? http://bbs.chinaunix.net/thread-4233130-1-1.html
编译器的未来——我们还需要C++么?http://www.cnblogs.com/findumars/p/4209430.html

出0入0汤圆

发表于 2017-5-6 23:34:22 | 显示全部楼层
反正 论坛基本搞电子\嵌入式   离不开 c\C++

出0入0汤圆

发表于 2017-5-6 23:38:29 | 显示全部楼层
c++ 在游戏、桌面应用程序上还是很多的啊,怎么会没落了呢?
又是面向对象,又类似于c语言的高效率,不是随便哪个可以取代的吧。只是目前互联网比较火,java之类的的确就业多一些吧

出0入4汤圆

发表于 2017-5-6 23:44:19 | 显示全部楼层
程序只是一种工具,关机程序要用来做什么?做怎么样的应用赚钱

出0入0汤圆

发表于 2017-5-7 00:57:16 | 显示全部楼层
c++很难学,时间长,并且还有一定的智商要求,注定了只有一部分人会做出实际的产品,或者科学计算什么的,应用于特定领域,不可能会没落。
学不会的就都改行了,这也不是坏事,挣钱的路千万条。
学C++更像是打野或者刷副本,难打就不打了,难刷就不刷了,去打能打的,去刷能刷的。

出0入442汤圆

发表于 2017-5-7 01:16:56 来自手机 | 显示全部楼层
arm7tdmi 发表于 2017-5-7 00:57
c++很难学,时间长,并且还有一定的智商要求,注定了只有一部分人会做出实际的产品,或者科学计算什么的, ...

有点接近事实了。但是更重要的一点是,搞android之类的,上一个月速成班,就能拿一万多的工资,这样搞下去要是还傻了叭叽的学c++才是真sb了。应该说,是c++被互联网思维给搞坏了。也就10年以前的学生才会认真上c++课。现在的学生连c++语法都不一定写对。

出100入101汤圆

 楼主| 发表于 2017-5-7 07:35:39 | 显示全部楼层
c++难学,没有易用,集大成的框架;中小企业能不用就不用,避免开发周期长,还要自己造一堆“轮子”

出0入0汤圆

发表于 2017-5-7 07:36:05 来自手机 | 显示全部楼层
感觉现在C++用的单位很少当然硬件单位除外,软件单位基本都是要java,

出100入101汤圆

 楼主| 发表于 2017-5-7 08:14:16 | 显示全部楼层
本帖最后由 fengyunyu 于 2017-5-7 08:41 编辑

C++不会没落但会走精英化路线http://blog.csdn.net/feng1072218457/article/details/51336711
C 和 C++ 的没落http://blog.jobbole.com/94127/
腾讯使用C++为主要开发语言?java少?为什么https://www.zhihu.com/question/30918223
不懂就问 c++真的没落了吗?https://bbs.hupu.com/17362390.html

出0入0汤圆

发表于 2017-5-7 09:50:58 | 显示全部楼层
C++  的问题是语法扩张的事做的太多,不停的在里面加语法。但是80%的”C++“程序员都只会CLASS+STL而已, 而标准库的功能做的太少。

出0入0汤圆

发表于 2017-5-7 10:31:24 | 显示全部楼层
很多领域都有退缩,反而嵌入式linux里面用得不少,不过最新的C++11后还是比较好用的

出100入101汤圆

 楼主| 发表于 2017-5-7 10:56:19 | 显示全部楼层
yj_yulin 发表于 2017-5-7 10:31
很多领域都有退缩,反而嵌入式linux里面用得不少,不过最新的C++11后还是比较好用的 ...

嵌入式linux用c++,一般是做什么应用?

出870入263汤圆

发表于 2017-5-7 11:50:21 | 显示全部楼层
这句话很好:C++并没有没落,但正在走向“精英化”。其应用场合都在IT基础设施,上层应用越来越少。
就像如今的桌面系统,开始走向“内容生产”端,而移动端成为了“内容消费”端一样。

想想以前,没有这么娱乐性丰富的移动端,大家的娱乐都围绕着PC;而如今PC占用个人的时间被移动端割走一大块,剩下的就是它不可替代的“内容生产”属性,不过并不意味着PC会消失。
确实是这个道理!

出100入101汤圆

 楼主| 发表于 2017-5-8 09:17:05 | 显示全部楼层
UC 开发语言的选择https://segmentfault.com/a/1190000000617550
来源:《程序员》杂志第11期
链接:http://www.programmer.com.cn/14092/

有人把开发语言比喻成武侠中的门派:少林、武当、峨眉、崆峒等,每个门派武功的招式、修炼方法和宗旨都不相同,因此新人投奔某个门派后再改投新门派的门槛很高,而各个门派之间也是三六九等。也有人把开发语言比喻成各种工具:锤子、钳子、螺丝刀、小刀、大棒等,各个工具没有强弱之分。

对于一般程序员来说,切换语言的门槛是存在的,因为开发语言不仅包括语法,还包括开发语言和框架等整套技术堆栈。从公司角度来看,确定公司内部的主流开发语言也有利于人才培养和招聘,能够促进企业的健康发展。

本文将分享一下 UC 在选择开发语言方面的一些经验和思考。

UC的业务定位

选择开发语言时首先要考虑的就是它要和整个公司的业务定位相契合。
UC 是做浏览器起家的,浏览器就是所有研发的核心。
同时我们也会围绕浏览器拓展一些附属业务,如资讯频道、软件下载频道、游戏下载频道等。

2004 年我们刚开始创业时,使用了服务器客户端混合运算架构去解决使用手机浏览器浏览 Web 网页的问题。
这种架构将大部分复杂的运算工作放在服务器上完成。
用户在使用 UC 浏览器浏览 Web 网页时,“服务器”会先将页面内容进行预处理。
例如,当页面出现 JavaScript、CSS 等手机端无法很好处理的元素时,服务器会采用高容错策略进行自动过滤。
当页面需要显示图片时,服务器会根据终端返回的屏幕参数对图片进行匹配压缩。
考虑到上网浏览页面的特性,所有服务器处理工作基本都是实时进行的。

而随着终端性能的提升、网络环境变好,我们发现,客户端支持的事情变得更多了。
于是我们从 2008 年起组织了一个单独的团队,开始打造新一代的手机浏览器内核。
U3 内核将原先主要放在“云”的页面解析功能,向本地客户端做了相应的迁移。
现在,U3 内核已经可以很好地符合 HTML5 的相关标准。
而浏览器内核对跨平台、性能要求都是很高的。

UC 的客户端开发语言

2004 年刚开始做 UC 浏览器时,用户手机基本都只能支持 Java,于是 UC 的客户端开发语言就选择了 Java。
2007 年前后,我们看到基于 Symbian 60 的智能机开始兴起,操作系统也开始支持性能更好的 C/C++,因此,我们开始跟进使用 C/C++ 进行 Symbian 客户端的改造和开发。
我们应该是最早一批进行原生开发的手机软件研发团队,UC 在 Symbian 上占有很高的市场份额也正是得益于此。
2010 年之后,iOS 和 Android 等智能平台开始出现,UC 也快速跟进,开发了原生产品。

目前,UC 已经覆盖了国内所有主流手机平台,下面是开发语言的的列表。



值得一提的是,我们的 U3 内核主要采用 C/C++ 进行开发,这样做的好处是,可以做到很好的跨平台。
目前U3内核已经在 Android 和 iPad 上上线。
我们计划用一年时间使之支持 iPhone、Android 平板还有 Windows Phone。
此外,由于 MTK 的平台也是可以使用 C/C++ 开发的,所以,未来我们也希望 U3 内核可以登陆诸如 MTK 这样的平台,服务更广大的用户群。

UC 的服务器端开发语言

服务器端开发一直是 UC 业务的核心之一。
在初创阶段,UC 的服务器端只是 UC 浏览器的云端,仅仅是为了实现网页压缩和加速,提高渲染的效果。
服务器端开发团队的开发语言采用的是 C/C++(核心模块)和 Python(业务逻辑),比较统一。
2007 年左右,我们开始围绕浏览器发展了很多周边业务,算上后台的统计分析等项目,可以说是五花八门。
当时,各个项目分属不同团队,一般来讲,团队 Leader 熟悉什么语言,团队就使用什么开发语言,涉及 PHP、C/C++、C#、Boo、Python、Java 等。
同种开发语言中使用的框架、库也都各自为政,由各团队自己克服困难和积累技术。

在 2011 年底到 2012 年第一季度,我们在公司范围内进行了一次集中讨论,最终确定以 PHP、C/C++、Java 作为 UC 服务器端的主流语言。



在以下场景建议使用 PHP:
“页面展示”:带有 Web 页面的产品和项目,用PHP方便结合前台其他开发技术,如 HTML/XHTML、CSS、JavaScript、JSON 等,不需编译,可快速调整页面;
“模块粘合”:将一个大项目分解出多个逻辑相对固定且独立的模块,采用 C/C++、PHP 等做成独立模块提供服务,用 PHP 调用这类服务后,结合其他灵活多变的业务逻辑组装起来。
在以下场景建议使用 C/C++:
“高性能、大并发、高实时”:性能高是 C/C++ 的优点,相对于 PHP 或 Java,用户量大、并发访问的程序使用 C/C++ 能节省大量机器;
“耗 CPU、管理大量内存、高磁盘 I/O 或者网络 I/O”:对物理资源的管理以及灵活方便的操作是 C/C++ 的天生优势,但缺点要求开发人员有着丰富的开发经验。
在以下场景建议使用 Java:
“兼顾业务灵活性、规范性、性能和安全”:Java 类被组织成等级层次,纯粹面向对象、规范、类库多、业务抽象较好、跨平台、业务逻辑变更方便,而且性能相对较高;
很多银行系统、银行网站、制造企业的系统都是基于 Java 平台,因此,互联网企业跟其他企业有交互接口的项目常用 Java。
要求掌握 2 种开发语言

UC 现在要求每个开发人员应该熟练使用至少 2 种开发语言。
一种是目前工作时主要使用的“母语”,另一种是根据兴趣或工作需要选择的“外语”。
在学习“外语”时,一般是要求快速掌握其语法,然后了解相关函数列表和库,知道用的时候在哪儿查,了解项目文件如何组装以及开发框架、开发规范。

从公司的角度看,因为互联网企业节奏快,我们经常从各个团队抽调人员快速组建新的团队,所以开发人员熟悉2种语言可以让公司的运转更为流畅,我们在人员调动时也会征询各自的意愿和了解其对语言的掌握情况。

从团队内看,需要有一部分人可以工作在几个领域,例如使用 PHP 的人中有一部分还需要会用 C/C++ 写 PHP 扩展;或者在用 Java 为主的团队里,需要有一部分人能用 C/C++ 开发底层服务。 另外,部分项目还需一些辅助的后台脚本,我们要求开发者会用 Linux Shell 写简单脚本,部分开发还会用 Python 写复杂的脚本。

从人才培养的角度看,选择这些开发语言,主要是考虑到移动互联网和互联网行业的现状。
这有利于开发人员复用以前的技术积累,也有利于开发人员长期的职业发展。
通过内部讨论,让大家意识到几种开发语言的优缺点,能在更高的视角选择合适的开发语言。

最后,适合的开发语言有利于团队的技术储备、提升工作效率和跨团队的人员调动。

出0入0汤圆

发表于 2017-5-8 09:39:33 | 显示全部楼层
c++已经强大到没朋友。
c++在游戏行业中,薪资最高。因为它有门槛,刷掉很大一批人。   

出0入0汤圆

发表于 2017-5-8 11:03:24 | 显示全部楼层
虚幻4......

出0入0汤圆

发表于 2017-5-8 12:08:44 | 显示全部楼层
驱动开发不需要吗?
C++的出路还是很多的。可以看下TIOBE排行榜https://www.tiobe.com/tiobe-index/

编程语言只有选择比较适合自己的和对应的开发平台;而不是追求淘汰与否

比如现在流行的Java;Java开发Windows桌面怎样;可想而知吧!

出100入101汤圆

 楼主| 发表于 2017-5-8 12:57:12 | 显示全部楼层
pzt 发表于 2017-5-8 12:08
驱动开发不需要吗?
C++的出路还是很多的。可以看下TIOBE排行榜https://www.tiobe.com/tiobe-index/

驱动开发,或嵌入软件,90%是C

出0入0汤圆

发表于 2017-5-11 14:19:24 | 显示全部楼层
C++可以是某些高级语言之母,不过学习C++ 周期确实是比较长。

出0入0汤圆

发表于 2017-5-11 14:37:00 | 显示全部楼层
如果说C++真没落了,那C#呢?还有VB,VC这些语言还有必要学吗?说C++学习周期长的,难道java,C#,VB,VC这些学习周期就短?

出0入0汤圆

发表于 2017-5-11 21:31:39 来自手机 | 显示全部楼层
fengyunyu 发表于 2017-5-7 08:14
C++不会没落但会走精英化路线http://blog.csdn.net/feng1072218457/article/details/51336711
C 和 C++ 的 ...

有点自欺欺人,孔乙己的味道

*^O^*

出0入0汤圆

发表于 2017-5-19 19:55:50 | 显示全部楼层
刚想学C++,不会那啥把

出0入0汤圆

发表于 2017-5-19 20:41:47 来自手机 | 显示全部楼层
这种问题在电工论坛没法讨论  绝大多数电工用C

出0入0汤圆

发表于 2017-7-4 13:57:20 | 显示全部楼层
我再用C++ ,有些地方C++还不好被替代

出0入0汤圆

发表于 2017-7-4 16:32:08 来自手机 | 显示全部楼层
感觉很多年前招聘条件上经常写灵通c/c++,个人觉得看你学习语言主要用来开发什么软件了

出10入120汤圆

发表于 2017-7-4 19:53:28 来自手机 | 显示全部楼层
还是喜欢c/c++,特别是在pc场合,c#使用.net不同版本还不兼容,太烦。

出0入0汤圆

发表于 2017-7-4 22:10:53 来自手机 | 显示全部楼层
c++11新增很多功能,编写代码更好用

出0入0汤圆

发表于 2017-7-6 08:33:00 来自手机 | 显示全部楼层
makesoft 发表于 2017-7-4 19:53
还是喜欢c/c++,特别是在pc场合,c#使用.net不同版本还不兼容,太烦。

C#主要是兼容性问题,C++大小通吃。

出0入17汤圆

发表于 2017-7-6 08:47:47 | 显示全部楼层
自从用了C#,就再也不想用C++了。
就像当初用了C语言再也不想用汇编一样。

出0入0汤圆

发表于 2017-7-6 08:59:57 | 显示全部楼层
llysc 发表于 2017-7-6 08:47
自从用了C#,就再也不想用C++了。
就像当初用了C语言再也不想用汇编一样。 ...

是的,自从了C#之后再也不想用C/C++了。

出0入0汤圆

发表于 2017-7-6 09:01:52 | 显示全部楼层
学了C++,发现房子,老婆离你越来越远,等你学精,发现除了失业,你啥也没有了

出0入0汤圆

发表于 2017-7-6 09:02:52 来自手机 | 显示全部楼层
瞎扯,C++在单片机上越来越流行

出0入0汤圆

发表于 2017-7-6 09:10:29 | 显示全部楼层
PC 上跑过C++
stm32上也跑过C++

相较于C语言,C++就相当于打开了新大门。

linux里面,用C写一些驱动,用C++写应用。

出0入0汤圆

发表于 2017-7-6 09:44:16 | 显示全部楼层
ywlzh 发表于 2017-7-6 09:10
PC 上跑过C++
stm32上也跑过C++

stm32上跑C++,你用的什么编译器支持的???

出0入0汤圆

发表于 2017-7-6 09:54:21 | 显示全部楼层
磊磊映画 发表于 2017-7-6 09:44
stm32上跑C++,你用的什么编译器支持的???

MDK就支持呀

中断函数必须要用声明为C的编译器来编译

出100入101汤圆

 楼主| 发表于 2017-7-6 10:46:45 | 显示全部楼层
本帖最后由 fengyunyu 于 2017-7-6 16:38 编辑
ywlzh 发表于 2017-7-6 09:10
PC 上跑过C++
stm32上也跑过C++


linux中,C++写应用,估计是QT
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 19:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表