淘客熙熙

主题:【原创】三年级也可以学编程 -- 月色溶溶

共:💬209 🌺336
分页树展主题 · 全看首页 上页
/ 14
下页 末页
        • 家园 请教,现在的C/C++和大概20年前的是不是同一个东西?

          大概20年前吧,折腾过一个叫BORLAND C++的东西,后来好像还有个VISUAL C++。

          • 家园 Borland C++ 和 Visual C++都不是C

            C/C++是标准,在ISO/ANSI上可以查到的。你提到的那些,是Borland公司和微软公司对这个标准的实现,以及集成的一套开发环境(IDE)。

            Borland已死,微软当然还活着。除此之外,还有其他的实现,比如GNU,比如Intel。

            我们说C/C++,实际上指的是语言标准,而不是IDE。这两个语言的标准已经有不少改变,C从C89升到了C99,C++从C++98升到了C++11(C++0b?呵呵)。当然,标准的升级不妨碍人们继续不使用新标准引进的特性,特别是C++。

            各个编译器厂商对语言标准的支持都不一样,如果不想和对方绑的太紧,就不要使用非标准特性。特别要提到的是,VISUAL C++ 6.0对标准支持不好。

          • 家园 山也还是那座山

            borland c++ 和visual c++指的是这两个公司它们各自的编译器、编程环境和自带一些的库。语言本身应该还是一致的,排除c++标准化之前的某些细节差异,就语言本身来说,应该是基本一致的。

            borland c++现在好象不见什么动静了。visual c++是微软的东西,是一个叫集成编程环境的东西,c/c++编译器是其中的一个核心成份,但是c/c++本身不负责GUI,所以需要集合GUI支持才能编制微软的视窗程序。我很多年前用过,现在我也没注意这个。

            c/c++的编译器我用的是gcc(GNU project c and c++ compiler)

            c++现在也有标准库 STL,还是模板化的,支持大部份常用的数据结构。

            • 家园 这倒是。

              微软的vc是从Microsoft C++ 演化而来的。从Microsoft C++ 7.0跳到VC++1.0的时候,BC++正在大行其道。基于同样的windowsAPI,borland和微软采用了各自的对底层视窗函数的对象封装机制,OWL和MFC,这样导致不同的支持库,也导致后续大项目的持续开发以及维护面临选择。

              而90年代的时候还是所谓从面向过程的编程向结构化编程过渡,再向面对对象编程过渡。视窗环境先天性的含有很多对象的理念在里边,从而导致从微软视窗开始编程的人几乎无一例外的总是把视窗结构,消息响应,和问题本身的数据结构乃至算法搅在一起。而一开始就从unix编程的人还好一些,因为这些人往往把界面和算法/数据分得很开,毕竟,x-windows对unix来说只是个外观而已。

              大概也正是因为对GUI的强调,使得很多人在90年代的时候总是有些惶惑。毕竟,OWL的库说实话,比当时微软的MFC要稳定,高效一些。而后续的Delphi也使得所见即所得的界面编程很是风靡。相比较而言,MFC的界面编程使得很多人望而却步,还不如当时的VB。

              还是到后来,当windows编程发展到win32后,MFC才大概超越了OWL(自己的感觉)。

              到了后来,包括我自己在内的很多人干脆直接自己封装win32API了。于是,MinGW等等基于GNU的c++编译器也在视窗编程中广泛使用。嗯,于是,微软也不得不推出他自己的免费编译环境,就是现在的VC express 以及其他的 Visual Studio Express了。

              忘了说了,其实90年代还有一款非常小巧但是非常强大俺非常喜欢的视窗编程环境,用C的,叫作lccWin。前提是 C 好,而且win32API熟悉。

分页树展主题 · 全看首页 上页
/ 14
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河