为什么程序员有时会将“C ++ / STL”称为单独的语言?

时间:2010-03-15 00:59:56

标签: c++ stl

这看起来似乎是个微不足道的问题,但最近却让我很烦恼。为什么有些程序员会将“C ++ / STL”称为不同的语言? STL是C ++标准库的一部分 - 因此是语言的一部分,“C ++”。它不是一个单独的组件,它不是单独存在于C ++的范围内。然而,有些人一直表现得像是一种完全不同的语言。为什么呢?

6 个答案:

答案 0 :(得分:9)

有可能成为一名称职且经验丰富的C ++程序员,从不使用STL。您可能正在使用Boost或ACE,或者是MFC Windows程序员已有10年了。

如果你想要有经验的人使用STL,那么要求知道C ++的人并不能保证你会得到一个。

另外在我看来,编写严重依赖于STL的代码与编写MFC代码感觉非常不同。它们可能也是不同的语言。它们肯定不会特别相似。

答案 1 :(得分:8)

理解C ++不需要理解STL。当你需要ADT时,这很有用,但是你可以在不需要它的情况下完成整个C ++职业生涯(可能已经离开?)。

答案 2 :(得分:7)

以上答案非常好;我只会在更广泛的背景下添加内容。

开发人员可能会参考language / api | library,例如C / Win32,Java / Struts,Java / Spring,C#/。net MVC,因为本质上有两个知识库 - 有关语言的知识以及如何使用该特定库,API或框架的知识。像Win32这样的东西非常庞大,就像我正在学习的Django。 Django本身以一种非常特殊的方式工作,知道这就是我正在学习的东西,而不是Python。

C ++ / MFC或C ++ / Boost或C ++ / STL也是如此。语言是C ++ - 您使用的API /库是MFC,Boost或STL。

答案 3 :(得分:6)

可能是因为STL在C ++游戏中来得有点晚了,很多人都编写了不使用任何STL的代码。例如,用MFC思考早期的win32编程。

答案 4 :(得分:5)

猜测:

首次发布C ++时,STL不存在。它后来作为一个可选的添加产生,然后被纳入标准。

答案 5 :(得分:-1)

在撰写简历时,人们会经常将C / C ++列为一种语言,这在很多情况下意味着他们也不知道。

有时候简历会将“Visual C ++”列为一种语言,试图表明他们不知道语言是什么。

这与“C ++和PHP的精通”语句一起,在my firm进入回收站。不是因为他们一定是坏程序员 - 而是因为面试时间浪费不值得。