网站首页 > java教程 正文
很大原因在于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++编程】,里面有学习视频和文件资料,有一些视频希望可以帮助到你,学习不怕从零开始,就怕从不开始。
- 上一篇: 1次订单系统迁移,头发都快掉完了...
- 下一篇: 宏软集团:Python和Java都能做什么?
猜你喜欢
- 2025-01-04 程序员副业开启模式:8个GitHub上可以赚钱的小程序
- 2025-01-04 顿悟!百度强推的Redis天花板笔记,原来数据库是这样理解的
- 2025-01-04 从横向和纵向两个维度寻求复杂问题的答案
- 2025-01-04 学弟:Java入门要多久?1~2个月的Java培训班直接不用去!
- 2025-01-04 核弹级漏洞!我把log4j扒给你看
- 2025-01-04 宏软集团:Python和Java都能做什么?
- 2025-01-04 1次订单系统迁移,头发都快掉完了...
你 发表评论:
欢迎- 04-24Java Collections 工具类集合框架中常用算法解析
- 04-24桶排序的简单理解
- 04-24Java集合框架底层实现原理大揭秘
- 04-24Java 集合框架全面解析:选对数据结构,提升开发效率
- 04-24c#集合排序
- 04-24Java面试中常被问到的集合类深度解读
- 04-24VBA技术资料MF278:对集合进行排序
- 04-24Spring 最常用的 7 大类注解,史上最强整理
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)