c++语言最难学的是什么
作为一个用了3年多C/C++的程序狗,我来说两句。说到C++的难点,其实很多地方是一言难尽的。我不敢声称我精通C++,我甚至觉着八成的人都不能这么说。甚至我可以确定,在我工作的过程中我肯定是没有用过C++所有的语言特性,甚至有些语言特性到现在看来我都觉着是天书。C++的坑太多了,简单说几点:指针并不能简单算做是C++的痛点,这个特性继承自C,它带来的问题很多:当你的程序莫名崩溃,你就要好好考虑下,是不是出了野指针,或者你的程序有MemoryLeak?这个对新手来说简直是地狱,如果再混下多线程,OMG,谁能告诉我这个对象的生命周期到底应该如何管理。也许你需要make_shared,但是你要知道,半自动的内存管理要用好也是要花功夫的,而且仍然不能杜绝问题的产生。跨平台。也许有人跟你说过 C++跨平台,一份代码在不同的平台上都能找到编译器来编译。这句话本身没错,问题在于,有没有人告诉过你,不同的编译器对C++标准支持是不一样的?C++的跨平台在我看来就是宏预处理堆砌出来的跨平台
编程语言有哪些?
一场编程语言之战@Author:Runsen本人懂一点Python,Java,根据自己想法而来,纯属虚构。现状进入2020年3月,新的编程语言排行榜新鲜出炉,TIOBE最新发布了3月编程语言排行榜。从榜单中我们可以看到,前三名分别为Java、C、Python。相较于上个月,Python继续以1.85%上升至10.11%,以10.11%的份额稳居第三。我们先了解下比较常见的编程语言的,如Java,Python,JavaScript,C/C++,Go,C#各编程语言的用途。“众口难调”,面对多种多样的编程语言,大家众说纷纭,每种编程语言都有其存在的意义,编程之战从未停止,“战火”一触即发。家庭内战最近,编程语言家族开了一场“家庭聚会”,都是在讨论自己的排名。下面是家庭成员的对话。老三Py:最近,我可厉害了。从2015年,人工智能的开始,人人学我,基本上我成为最无敌的大佬。老四C++:可不是嘛,老三,你的爬虫,数据分析,机器学习,深度学习,自然语言处理再加上你的Django,flask等Web开发等,就连你的PyQt也想占领我的QT图形界面市场,都是你这个流氓,害得我从老三变成老四
Rust科普向:Rust到底难在哪?特色语言特性20min速通攻略
本文面向对象:希望尝试了解Rust相关代码仓库(eg.deno)的Rust零基础同学希望了解Rust语法特性拓展知识范围的同学希望对编程语言底层逻辑加深理解的同学前言我们为什么要学习Rust?上图是知乎上一个关于Rust的问题不少人抱有疑问:“为什么人们还要卷一个Rust新语言出来呢?”这个问题回答的思路可以有多条:Rust如何解决现有编程语言的内存管理问题痛点Rust如何兼顾工程化和性能Rust如何从源头上提升代码质量你可能还会问:“可是我目前没有Rust落地的场景?”这个问题就更好解决了,只要你对目前业界最特色的垃圾回收机制感兴趣,那继续读下去肯定会有一定的收获。你可能的最后一个问题:“听说Rust学习曲线出了名的陡峭,是不是很难入门啊?”确实,他的学习难度业界闻名(大概比Java还难一个C的程度),但是他的代码review难度却是公认比较简单的,你不好奇为什么会有这样的现象吗?缺点VS优点那些舒服的地方看看这红线,像不像小学班主任批改作业的注释?保姆级别的编译报错提示,手把手教你改bug如果你的代码可以编译成功,那你不需要再考虑内存相关的逻辑,Rust已经完全处理完成,你只需要聚焦于业务内容可以比肩C/C++的强大性能,底层(操作系统,区块链,WebAssembly等)开发者的利器不那么舒服的地方新手写一个小时Rust的报错提示可能就长到翻不完,学习难度客观存在生态不如其他成熟的编程语言那样完善,但依然是富有活力的发展中Rust的地狱笑话:为什么不尝试用Rust写个链表呢?(由于语言特性原因,这会非常困难)一些和现有其他热门语言设计有出入的细节(天国的return/天国的分号/::满天飞/'a满天飞)与众不同的设计基础概念栈与堆栈(stack)和堆(heap)都是可以在运行期使用的内存空间
编程语言有哪些?
一场编程语言之战@Author:Runsen本人懂一点Python,Java,根据自己想法而来,纯属虚构。现状进入2020年3月,新的编程语言排行榜新鲜出炉,TIOBE最新发布了3月编程语言排行榜。从榜单中我们可以看到,前三名分别为Java、C、Python。相较于上个月,Python继续以1.85%上升至10.11%,以10.11%的份额稳居第三。我们先了解下比较常见的编程语言的,如Java,Python,JavaScript,C/C++,Go,C#各编程语言的用途。“众口难调”,面对多种多样的编程语言,大家众说纷纭,每种编程语言都有其存在的意义,编程之战从未停止,“战火”一触即发。家庭内战最近,编程语言家族开了一场“家庭聚会”,都是在讨论自己的排名。下面是家庭成员的对话。老三Py:最近,我可厉害了。从2015年,人工智能的开始,人人学我,基本上我成为最无敌的大佬。老四C++:可不是嘛,老三,你的爬虫,数据分析,机器学习,深度学习,自然语言处理再加上你的Django,flask等Web开发等,就连你的PyQt也想占领我的QT图形界面市场,都是你这个流氓,害得我从老三变成老四
Rust科普向:Rust到底难在哪?特色语言特性20min速通攻略
本文面向对象:希望尝试了解Rust相关代码仓库(eg.deno)的Rust零基础同学希望了解Rust语法特性拓展知识范围的同学希望对编程语言底层逻辑加深理解的同学前言我们为什么要学习Rust?上图是知乎上一个关于Rust的问题不少人抱有疑问:“为什么人们还要卷一个Rust新语言出来呢?”这个问题回答的思路可以有多条:Rust如何解决现有编程语言的内存管理问题痛点Rust如何兼顾工程化和性能Rust如何从源头上提升代码质量你可能还会问:“可是我目前没有Rust落地的场景?”这个问题就更好解决了,只要你对目前业界最特色的垃圾回收机制感兴趣,那继续读下去肯定会有一定的收获。你可能的最后一个问题:“听说Rust学习曲线出了名的陡峭,是不是很难入门啊?”确实,他的学习难度业界闻名(大概比Java还难一个C的程度),但是他的代码review难度却是公认比较简单的,你不好奇为什么会有这样的现象吗?缺点VS优点那些舒服的地方看看这红线,像不像小学班主任批改作业的注释?保姆级别的编译报错提示,手把手教你改bug如果你的代码可以编译成功,那你不需要再考虑内存相关的逻辑,Rust已经完全处理完成,你只需要聚焦于业务内容可以比肩C/C++的强大性能,底层(操作系统,区块链,WebAssembly等)开发者的利器不那么舒服的地方新手写一个小时Rust的报错提示可能就长到翻不完,学习难度客观存在生态不如其他成熟的编程语言那样完善,但依然是富有活力的发展中Rust的地狱笑话:为什么不尝试用Rust写个链表呢?(由于语言特性原因,这会非常困难)一些和现有其他热门语言设计有出入的细节(天国的return/天国的分号/::满天飞/'a满天飞)与众不同的设计基础概念栈与堆栈(stack)和堆(heap)都是可以在运行期使用的内存空间