C/C++还能再掀起一波浪潮吗

Publiccsdn 2018-05-07 01:00:02
大家可能知道asp、php、jsp等常见的web后端服务开发语言,那么C++为什么不能做web后端呢?cgi和Java中servlet相似,C++也可以开发一套web后端框架,实现C++和HTML等混编(类似jsp)技术。

我的想法是,C/C++有着高效的运行效率,可以减少大量的硬件资源消耗。

大家有什么看法,我是个刚入行的程序员,希望大家给我指点迷津一二。
...全文
1097 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-05-09
  • 打赏
  • 举报
回复
很多时候,使用的工具越先进,人越笨;得到得越轻松,人越懒。
  • 打赏
  • 举报
回复
种地的农民比等着地里自己长出庄稼的农民笨...
赵4老师 2018-05-09
  • 打赏
  • 举报
回复
用镰刀的农民比直接用手薅的农民笨。
赵4老师 2018-05-09
  • 打赏
  • 举报
回复
引用 22 楼 DelphiGuy 的回复:
老赵的意思是开联合收割机的农民比用镰刀的农民笨?
事实如此。
  • 打赏
  • 举报
回复
老赵的意思是开联合收割机的农民比用镰刀的农民笨?
码农吉他手 2018-05-09
  • 打赏
  • 举报
回复
语言只是工具,市场需求才是动力决定方向吧。结合没有最好的语言只有最合适的工具来看,掀起一波浪潮的应该是用户需求和硬件拓展(类似VR,可穿戴设备,无人机等)。所以语言不是掀起浪潮的前提,反而浪潮可能会带动语言的使用(人工智能与Python,matlab)。个人是这么认为的
丁劲犇 2018-05-08
  • 打赏
  • 举报
回复
我觉得很难。原因是学习曲线陡峭、持久。 做了好多年工程,一点体会,先说好的方面: C/C++确实是一种非常灵活、非常多用途的语言。她可以写应用,很多人用C的思想,写C++,把优秀的C++库提供的类型当做和int一样的简单变量使用,这样代码也很稳定。它更善于写库,用C++的思想,写为面向过程编程准备的库,这样的库用的人最多(泛型、模板元编程等等技术,主要是为写库的人准备的。如果不写库,只要知道原理即可。达到用泛型能自己实现一个类似的类就成了,懂了即可。不必深究)。 再说不好的:对大多数不是天才的人来说,相对于其他语言,学习C、C++太难了。说说我的经历。 第一关理解整个工具链的设计理念。我在最初2~3年,不知道大工程里哪些东西该写在头文件里,哪些东西该写在源文件里;不知道为什么自己交换头文件的引用顺序,会触发不同的编译器错误;不知道为什么静态编译的和动态链接的库混用,会发生链接符号冲突,等等。每个错误对初学者都超级难调试(不是运行时的),而编译器错误却很拗口。为了不出错完成项目,我经常把所有函数全部写在1个cpp里。 第二关是认识语言本身与IDE、库的不同,对IDE、编译器、库三个的概念完全是混淆的。在大一,以为Turbo C++就是C++;大三,以为VC6+MFC是升级版的C++;这种认识,以至于后来不明白有了CString为什么还有std::string, BSTR。直到毕业后,换到Linux下写程序,逼着从g++、gcc开始,渐渐地才有了认识。一开始在Linux下接触Qt时,还试图在Qt里直接用CString、AfxMessageBox。怎么说吧,作为一个脑袋真的不灵光的人,真的是要死的心都有了。 第三关是熟悉方言与标准的差异。C++被扩展的一塌糊涂,方言太多了。同一种函数,有的加下划线,有的不加。要命的是很多坑爹教材不讲哪个是方言。平台相关的方言更是害人。即使是STL库,不同的编译器使用了不同的实现,越早的版本差异越大。 接下来,就是漫长的知识树积累。仅仅是字符方面,就有好多内容。GB2312,UTF-8,Unicode(16bit)字符集转换、代码页切换,_T(), CW2A,的来龙去脉; 代码文本的字符编码、控制台界面的输出、图形界面的输出之间要注意什么?为什么WindowsAPI有 宽、窄字符集,而Linux不需要? COM的 BSTR 和 本地进程内字符串之间怎样安全转换?如何封装一个DLL库,以便同时兼容几种不同的环境? 不是说其他语言没有这些问题,而是C++比较突出。现在一晃已经20年过去了,由于从事教学、项目开发,一直使用C++,总算是基本入门了。但我面对学生时,觉得有千言万语却不知道该从哪讲起,讲A需要B的背景知识,而讲B却需要C的背景知识,C却只有学了A后才能真正理解。我只能跟学生说,C、C++需要大量的编码经验和实操,在不同平台、不同库上经手几个跨语言、跨平台大项目,才能入门。 看到一些在校参加过竞赛的同学,在简历上写“精通C++”,“XX杯竞赛X等奖”,信心满满的出去,却做不好一个稳定可用的软件,就在思考,我们的教学缺少什么?还是因为更深层的因素?公司会给他们这么多时间学习吗?或者说,只要抛开语言本身,学会编程思想,而后迅速入门一种更为高效的领域性语言,更为符合实际。毕竟,现在我们开发操作系统、开发驱动程序、开发DBMS的需求,远不如做App旺盛。如果我们不需要造车床,只要用进口的车床造拇指陀螺,那学习如何造车床就是很愚蠢的。
赵4老师 2018-05-08
  • 打赏
  • 举报
回复
做个可能不太恰当的比喻: 人想让狗帮忙逮只兔子,可是人说话狗听不懂,于是人发明了一种介乎人言和狗语之间的语言,即口令。 人想让电脑帮忙做计算,可是人话电脑听不懂,于是人发明了一种介乎人言和汇编机器码之间的语言,即C语言。 人对狗的口令得让人容易学、也得让狗容易懂。 C语言同样得让人容易学、也得让电脑容易懂。 相比之下C++、Java就是人学得费劲、电脑也经常闹不懂。
ooolinux 2018-05-08
  • 打赏
  • 举报
回复
引用 16 楼 DelphiGuy 的回复:
[quote=引用 10 楼 u010165006 的回复:] [quote=引用 8 楼 DelphiGuy 的回复:] ms的很多工具也是免费的,比如c#、vb.net编译器是随.net runtime一起免费提供的,所以如果不用vs ide就可以免费使用c#、vb.net开发程序,即便商业应用也可以(用免费版的vs对开发商业应用有一定限制,但是也基本上没人在意,起码国内如此)。
免费版的VS貌似没有.NET Framework、MFC这些?[/quote] express版本没有MFC支持,其他都有,community版本都有。 [/quote] 那小公司可以用免费版开发winform程序了。 微软的策略估计是,你有钱,就买我的正版,没钱,就用免费版,既赚到钱,又扩大占有率。
  • 打赏
  • 举报
回复
引用 10 楼 u010165006 的回复:
[quote=引用 8 楼 DelphiGuy 的回复:] ms的很多工具也是免费的,比如c#、vb.net编译器是随.net runtime一起免费提供的,所以如果不用vs ide就可以免费使用c#、vb.net开发程序,即便商业应用也可以(用免费版的vs对开发商业应用有一定限制,但是也基本上没人在意,起码国内如此)。
免费版的VS貌似没有.NET Framework、MFC这些?[/quote] express版本没有MFC支持,其他都有,community版本都有。
qq_36260408 2018-05-07
  • 打赏
  • 举报
回复
C/C++经久不衰
qq_40162781 2018-05-07
  • 打赏
  • 举报
回复
c语言5月爆涨7个百分点
Publiccsdn 2018-05-07
  • 打赏
  • 举报
回复
引用 5 楼 DelphiGuy 的回复:
没可能,硬件很廉价,人工很贵,软件工程的目标就是开发的工程化管理,大量使用低技术、低报酬的产业工人型开发者,所以工具要求尽可能自动化,提高生产效率、减少培训成本、降低出错的可能,所以Java、C#以及各种脚本语言才会大行其道,当然前浪死在沙滩上这是不变的道理,简单还有更简单,最终机器自动编程了,程序猿这行业都消失了...
我赞同你这个说法,python为什么能火起来,就是硬件的廉价,性能不够,硬件来凑。还有就是公司都急功近利,要在最短的时间内做出产品。
ooolinux 2018-05-07
  • 打赏
  • 举报
回复
引用 8 楼 DelphiGuy 的回复:
ms的很多工具也是免费的,比如c#、vb.net编译器是随.net runtime一起免费提供的,所以如果不用vs ide就可以免费使用c#、vb.net开发程序,即便商业应用也可以(用免费版的vs对开发商业应用有一定限制,但是也基本上没人在意,起码国内如此)。
免费版的VS貌似没有.NET Framework、MFC这些?
ooolinux 2018-05-07
  • 打赏
  • 举报
回复
引用 8 楼 DelphiGuy 的回复:
ms的很多工具也是免费的,比如c#、vb.net编译器是随.net runtime一起免费提供的,所以如果不用vs ide就可以免费使用c#、vb.net开发程序,即便商业应用也可以(用免费版的vs对开发商业应用有一定限制,但是也基本上没人在意,起码国内如此)。
说明微硬在“免费”面前也微软了,互联网时代免费是基础,赚钱是衍生。
csulizhang 2018-05-07
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
nginx是用啥语言开发的来着?
报告赵老师,nginx是用C写的。 不过nginx在windows下的表现一般,希望nginx能够支持IOCP就好了
  • 打赏
  • 举报
回复
ms的很多工具也是免费的,比如c#、vb.net编译器是随.net runtime一起免费提供的,所以如果不用vs ide就可以免费使用c#、vb.net开发程序,即便商业应用也可以(用免费版的vs对开发商业应用有一定限制,但是也基本上没人在意,起码国内如此)。
ooolinux 2018-05-07
  • 打赏
  • 举报
回复
有市场的就两种,一种免费的可用的产品,一种大公司的比如微硬的产品。
  • 打赏
  • 举报
回复
没可能,硬件很廉价,人工很贵,软件工程的目标就是开发的工程化管理,大量使用低技术、低报酬的产业工人型开发者,所以工具要求尽可能自动化,提高生产效率、减少培训成本、降低出错的可能,所以Java、C#以及各种脚本语言才会大行其道,当然前浪死在沙滩上这是不变的道理,简单还有更简单,最终机器自动编程了,程序猿这行业都消失了...
加载更多回复(5)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧