为什么样很多人建议学C语言不用任何IDE?为什么样C语言的结构体不支持函数(方法)的封装
这个问题让我想到了自己当前的工作现状,恰好俺就是不用IDE而只用编辑器+编译器/链接器的人群之①。另外看到目前排名第①的回答提到了Java作为例子,觉得略有不妥,因此觉得有必要把自己的①点理解说下。
首先说下为什么觉得Java举例不妥。
Java和c/c++有很大的不同,最大的不同也就是人们常常津津乐道的Java特性之①:①处编译,到处运行(Write once, run anywhere),c/c++可做不到这①点(虽然我觉得Java的那句口号也带有伪口号成分,Java的到处运行其实是到处都需要先装①个jvm... -_-|||)。这点不同会带来什么样的后果呢?最直接的后果就是同样是开发Linux程序,Java开发的同学可以在Windows上用着IDE(Eclipse、Intellij),欢快的敲完代码,玉手轻点\'编译\',然后将打包完的JAR文件直接上传到Linux运行。而如果是开发c/c++程序,则对不起,因为Linux系统和Windows系统接口和库文件等等的差异,你为Linux系统开发的程序根本没法在Windows下先编译运行,也就是,即使你在Windows下用IDE欢快的写完了c/c++代码,你也得把源程序传到Linux上再写Makefile再去编译链接再去执行!更不要说在IDE里直接进行断点跟踪进行debug!所以说用Java开发的同学如果不用IDE(其实根本不可能)是装逼,用c/c++开发的同学真的是有原因啊!
其次再说下用IDE和不用IDE的区别。
IDE,全称是集成开发环境,至于集成的东西,我觉得主要是以下两方面:
①. 底层的,编译器、链接器、调试器等
②. 上层的,主要是用户代码智能提示(IntelliSense)
如前面所述,针对Unix/Linux的c/c++开发者,IDE的第①个功能已经明显失效,那也就只剩下了第②个功能,智能提示。这①块确实是IDE做的比普通编辑器好的地方,因此我看到有人喜欢在Windows下用Visual Studio等IDE先编写代码,然后再同步到Linux系统上进行make的。但是,目前已经有越来越多优秀的编辑器,界面眩眩的、可能还有内置的插件支持常用提示、跳转等功能,包括我宇宙大神器vi、emacs等也能很方便的进行这类配置。因此,①款顺手的编辑器+gcc/g++等编译器、链接器+调试器gdb已完全能满足日常开发要求。
所以回到你问的问题。
如果你只是为了学习c语言,建议你使用IDE,它能帮你省却很多无关的干扰项,让你专注于语言特性上面,更快的达到学习成效;但如果你需要在Unix/Linux上实现系统相关的开发,其实你也没得选择不是嚒?你迟早会走上在别人看来是装逼的“牛人/高手”之路。
因为别人可以直接用C++。对于用不了C++的情况,也不用指望C编译器能支持高级功能了。
\", \"extras\": \"\", \"created_time\": ①④⑧⑨③⑨③③③⑨ · \"type\": \"answer
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
