网站首页 > 基础教程 正文
很大原因在于C入门不容易有成就感。
比如Python,学一阵子就可以搞出一些酷炫的东西了,这往往让初学C的人艳羡。
不过这里面也有两方面问题要指出来:
(1)Python之所以让开发者欲罢不能,很大程度上就来自于它丰富的第三方库,而学习这些Library的使用似乎从来都是玩Python的人一上手就会接触的;反观C入门,也不是说它就不能搞酷炫的东西,只不过现在大多C的入门教程从头至尾头文件都只引入,你能指望一个DOS下的黑框炫上天?所以说如果学习方法得当,初学C也可以做出一些有意思的小玩意,给自己增加一些自信心和成就感。
(2)虽然初学者对自己的程序是否跑的足够快并不是那么在乎(Python比C慢得多)。但试想,如果像题主一样现在还在上学阶段,原本有大把的时间可以去弄清楚指针、内存管理等一些较为底层的知识,就因为一味地追求所谓的炫酷而没有抓住机会,工作之后真还能静下心去学习这些理论吗?事实是C玩的溜的人转战Python,第一次听说GC这个概念会爽歪歪,而一开始学习Python的人再去学C,第一次听说Stack和Heap的概念会一脸懵逼。
所以,如果你还是不愁吃穿的上学阶段,学C也没什么不好的,像c primer plus这种经典到“啰嗦”的书工作之后还真不一定有时间去潜心研读;
如果你面临就业或已经工作,选择Python吧,毕竟都在喊人生苦短还是有道理的。
以下是写给对C/C++编程感兴趣的小伙伴的:
C语言(以及 C++)几乎是现今计算机软件的基石,无论是操作系统、其他语言的编译器,甚至电饭煲里的单片机运行的程序,大多数是用 C/C++ 编写的。
如果你不是怀着功利主义去学习编程,C 语言其实是一个不错的编程入门语言。
首先,C 语言相对许多现代语言来说是十分简单(或者说是原始)。它没有内置面向对象、函数式编程、元编程等编程范式的功能,只有30来个关键字,少量的概念。可以比较短时间内完整的学习这个语言。
第二,学习 C 语言适合同时学习计算机架构,各种数据类型(包括重要的指针)都是直接能和计算机架构的概念对应。语言里面没有魔法,都是很平凡直观。你会知道数据在内存中是怎么存储的,占多少个字节。很多语言的抽象层次更高,不能做到这一点。
第三,很多语言都有类似 C 语言的语法(如 C#、Java、JavaScript),例如花括号、分号、注释、if、for、while、do while 等等。用 C 语言入门编程后,这些知识可以过渡至其他语言。
但现今大多数应用软件都以 GUI 形式存在,用 C 语言会比较繁琐(我最初写 Windows 程序是用 C 语言的)。而 Web 后端的应用程序部分也通常不会选用 C 语言。所以在这些现时最常见的程序员工作中,C 语言并不流行。但由于 C/C++ 无处不在,学习和工作中总有机会要碰到。如果能在编程入门阶段就学习了它,日后也是比较方便的。
希望对大家有帮助~
学习C/C++编程知识,想要成为一个更加优秀的程序员,或者你学习C/C++的时候有难度,可以关注+私信小编【C/C++编程】,里面有学习视频和文件资料,有一些视频希望可以帮助到你,学习不怕从零开始,就怕从不开始。
- 上一篇: C# - 流程控制 一 循环结构while 024
- 下一篇: 初中生也能学的编程,不走弯路,先用后学
猜你喜欢
- 2024-12-29 C#异步编程之Task的使用 c#异步处理
- 2024-12-29 「详解」源代码自动格式化工具:Artistic Style
- 2024-12-29 C# using用法 c# using语句
- 2024-12-29 MDK中使用AStyle插件对代码进行格式化处理
- 2024-12-29 c#中使用miniExcel和fastreport实现付款审批单的批量打印
- 2024-12-29 程序员必练六项目:从数据结构到操作系统,计算机教授为你画重点
- 2024-12-29 C#上位机开发入门(3) c#上位机需要学什么
- 2024-12-29 C#06(从控制台输入与类型转换) c#从控制台输入数据
- 2024-12-29 C#-循环数组结构体知识补充 055 c#用循环结构计算1+2+3+4+5+6...+100
- 2024-12-29 正确复制、重写别人的代码,不算抄袭
- 01-09Oracle数据库面试题汇总
- 01-09Oracle AWR解析-Report Summary
- 01-09想要成为数据分析师,这些Excel必备知识点你得掌握
- 01-09java开发中常用Oracle函数实例总结比较,当真不少
- 01-09DriveWorks其实是这么回事
- 01-09EXCEL做数据分析,学会这些就入门了
- 01-09一场pandas与SQL的巅峰大战(六)
- 01-09Oracle数据库知识 day01 Oracle介绍和增删改查
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)