啊哈磊_编程从这里起步

标题: 想深入了解,学习啊哈C,求指点。 [打印本页]

作者: Dy009    时间: 2013-9-3 07:24
标题: 想深入了解,学习啊哈C,求指点。
在一次偶然的机会接触到Arduino,在某网站买了一套Arduino套件自己回来学习,由于这软件需要了解一定的计算机语言,于是寻求店家帮助,店家把啊哈C的软件及初入门教程发给我,本人也潜心学了数天,感觉有一定的理解,就想着更进一步学习。

作者: rosynirvana    时间: 2013-9-3 07:24
Dy009 发表于 2013-9-3 20:38
DSL?求解,不明白,菜鸟,还有不用学C?

DSL = Domain Specifit Language =领域专属语言,就是在特定领域用的编程语言
Arduino的开发语言叫Arduino programming language,就是Arduino的DSL

虽然这种语言是类似于C的,但是学C学到的很多东西在这里用不上
你可以看 http://arduino.cc/en/Reference/HomePage

如果是一般的单片机开发那么C肯定有用,如果只是要玩Arduino我觉得用不着去学C
作者: Dy009    时间: 2013-9-3 07:27
还有补充,本人想学语言这方面的,大家可以给我详细分析分析吗?本人以前有学过VB,但不怎么会,可以说是不会。求大神打救
作者: rosynirvana    时间: 2013-9-3 14:31
其实我觉得玩Arduino应该直接去学它的DSL,不用绕道去学C……
作者: Dy009    时间: 2013-9-3 20:38
rosynirvana 发表于 2013-9-3 14:31
其实我觉得玩Arduino应该直接去学它的DSL,不用绕道去学C……

DSL?求解,不明白,菜鸟,还有不用学C?
作者: 啊哈磊    时间: 2013-9-4 23:41
还有这等好事
作者: Dy009    时间: 2013-9-6 11:47
rosynirvana 发表于 2013-9-3 21:48
DSL = Domain Specifit Language =领域专属语言,就是在特定领域用的编程语言
Arduino的开发语言叫Ardui ...

谢谢你了,我也想学C,对电脑这方面感兴趣
作者: Dy009    时间: 2013-9-6 11:56
rosynirvana 发表于 2013-9-3 14:31
其实我觉得玩Arduino应该直接去学它的DSL,不用绕道去学C……

可以推荐本C语言的书吗?适合新手菜鸟的。
作者: rosynirvana    时间: 2013-9-6 14:51
Dy009 发表于 2013-9-6 11:56
可以推荐本C语言的书吗?适合新手菜鸟的。

http://book.douban.com/subject/4279678/
我没看过,但是据称是十几年内最好的C语言教材

如果你是业余爱好者我是不推荐学C的,如果要系统学习那么应该学C
作者: lcfqysr    时间: 2013-9-11 22:46
认真会回帖是对楼主的尊重:)学C蛋疼得很,,..不过都推荐C为编程的入门语言应该是有道理的,学吧!
作者: rosynirvana    时间: 2013-9-12 15:42
lcfqysr 发表于 2013-9-11 22:46
认真会回帖是对楼主的尊重:)学C蛋疼得很,,..不过都推荐C为编程的入门语言应该是有道理的,学吧!

其实没多大道理
国外的计算机科学教育一直是一门FP语言(例如scheme或者SML)
国内教育一直傲慢地认为底层抽象了不起,外加急功近利要学码农语言
最早码农语言是C,后来逐渐变成C++ 和 Java,这群老先生不愿意随着革新,提出了一个C是C++和Java等语言的基础,于是继续教C

学编程初学C大体上就是这么来的
作者: 沉默的观察者    时间: 2013-9-14 20:22
rosynirvana 发表于 2013-9-12 15:42
其实没多大道理
国外的计算机科学教育一直是一门FP语言(例如scheme或者SML)
国内教育一直傲慢地认为底 ...

那我们学C的原因何在啊~~~
ps:我不是这个专业的学生,只是看到了磊哥这本书,最近在跟着书上的学习学习~~


作者: rosynirvana    时间: 2013-9-14 21:22
沉默的观察者 发表于 2013-9-14 20:22
那我们学C的原因何在啊~~~
ps:我不是这个专业的学生,只是看到了磊哥这本书,最近在跟着书上的学习学习 ...

一来是因为有太多代码是用C写的
二来是C没那么依赖编译器……
作者: 沉默的观察者    时间: 2013-9-15 09:37
rosynirvana 发表于 2013-9-14 21:22
一来是因为有太多代码是用C写的
二来是C没那么依赖编译器……

谢谢你的解答
我刚才搜索了一下“编译器”,知道现在正在学习的C语言是源代码的一种,而你所说的C语言没有那么依赖编译器,我不太理解,你能够进一步的给我讲解一下吗?谢谢啦~
作者: rosynirvana    时间: 2013-9-15 12:19
沉默的观察者 发表于 2013-9-15 09:37
谢谢你的解答
我刚才搜索了一下“编译器”,知道现在正在学习的C语言是源代码的一种,而你所说的C语言没 ...

相对于C++而言,C的编译器比较简单,所以生成的汇编代码和机器代码比较好预计;而C++的编译器非常复杂,生成的汇编代码和机器代码是否可靠就难以预料了。C的ABI基本上是有事实标准的,而C++是两派分立互不兼容的。

相对于Common Lisp和Haskell而言,C的效率基本上完全靠程序员自己掌控,而Common Lisp和Haskell的效率则很大程度上依赖于编译器。

而且C编译器各种平台各种架构上都会有

这些看不懂就算了,如果没学过C++ Haskell这些语言也很难真正理解。

如果你不是计算机软工电子工程之类的专业,别学C了,还不如学点python甚至matlab编程,有用多了
作者: 沉默的观察者    时间: 2013-9-15 12:45
rosynirvana 发表于 2013-9-15 12:19
相对于C++而言,C的编译器比较简单,所以生成的汇编代码和机器代码比较好预计;而C++的编译器非常复杂,生 ...

好的,谢谢哦~~
确实不太能理解上面你说的意思
OK,python编程的学习有什么好的推荐书籍吗?或者论坛也OK啊
作者: rosynirvana    时间: 2013-9-15 13:10
沉默的观察者 发表于 2013-9-15 12:45
好的,谢谢哦~~
确实不太能理解上面你说的意思
OK,python编程的学习有什么好的推荐书籍吗?或者论坛也 ...

a bite of python
作者: 沉默的观察者    时间: 2013-9-15 17:23
rosynirvana 发表于 2013-9-15 13:10
a bite of python

谢谢哦~~

作者: Dy009    时间: 2013-9-16 22:54
rosynirvana 发表于 2013-9-15 12:19
相对于C++而言,C的编译器比较简单,所以生成的汇编代码和机器代码比较好预计;而C++的编译器非常复杂,生 ...

如果我不是这个专业学这个有用吗?我上夜校的,学的是计算机网络技术
作者: Dy009    时间: 2013-9-16 22:54
rosynirvana 发表于 2013-9-15 12:19
相对于C++而言,C的编译器比较简单,所以生成的汇编代码和机器代码比较好预计;而C++的编译器非常复杂,生 ...

如果我不是这个专业学这个有用吗?我上夜校的,学的是计算机网络技术
作者: rosynirvana    时间: 2013-9-16 23:04
Dy009 发表于 2013-9-16 22:54
如果我不是这个专业学这个有用吗?我上夜校的,学的是计算机网络技术

我不了解夜校是什么情况
网络编程中, socket programming,也就是服务器最底层那一部分,是用C描述的
高层的部分,例如CGI,就用不到C了
更高层的部分是html css js,也用不到C




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2