免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: arron刘
打印 上一主题 下一主题

[学习分享] 【话题讨论】深入理解程序设计:使用Linux汇编语言(获奖名单已公布-2014-2-17) [复制链接]

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
31 [报告]
发表于 2014-01-15 21:54 |只看该作者
1、你日常工作中使用的是那种编程语言?
C/C++, Shell, Java, Javascript, Python, Erlang, SQL都在用
2、你认为程序员与编程语言之间的关系是什么样的?
没什么关系,一个合格的程序员不应该被工具和语言束缚,苦逼的程序员需要多种思维应对客户、市场、技术、政策的飞一般的变化和发展,因此一定也必须是一对多关系。
3、编程语言真的是功能越强自由越少吗?
自由看怎么定义。如果自由认为是对计算机系统的控制,那么功能越强的代价自然限制越多,比如操作系统功能越来越强,可安全和控制也越来越严格(没有操作系统的时候当然对计算机系统的控制能力最大),编程语言也是这样。如果自由认为是对人的思维的表达,那么功能越强自然越容易展示思维,比如都知道Python一句代码,C要写满篇,比如各种专用语言R/matlab等等,表达的自由度十分高。
4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识
最重要的知识:如何学习
然后的知识:如何查找、归档、整理资料
最其次的才是各种编程技能,熟悉各种系统,熟悉网络和硬件等等。

论坛徽章:
0
32 [报告]
发表于 2014-01-15 23:22 |只看该作者
1、你日常工作中使用的是那种编程语言?

c||java

2、你认为程序员与编程语言之间的关系是什么样的?
  
只要能更好的解决问题,用户才不管你是用什么语言,所以没什么必然的联系,编程语言就和学习英语,德语等外语一样,交流及解决问题的媒介工具。

3、编程语言真的是功能越强自由越少吗?

取决于使用者,不解释

4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识?

为人处事,与其他业务部门快乐相处!工作久了,自会明白

论坛徽章:
0
33 [报告]
发表于 2014-01-16 11:15 |只看该作者
本帖最后由 studywithallofyou 于 2014-01-16 11:15 编辑

1、你日常工作中使用的是那种编程语言?
c/c++/js/html5/css3

2、你认为程序员与编程语言之间的关系是什么样的?
编程语言是程序员和计算机之间的媒介,帮助程序员更高效的来支配使用计算机的资源

3、编程语言真的是功能越强自由越少吗?
这个要看如何理解这句话,反正计算机中明摆着的就是,所有高级编程语言功能基本上都能用低级的编程语言来实现,但是低级语言实现一些高级的功能比较繁琐或是麻烦,为了提高效率和对不同领域的适用性,才产生了各种语言。
如果把自由理解成跨平台或是通用性来说的话,封装越厉害越高级的语言越自由,我们不用管细节问题,同样的代码在不同平台编译一下就可以,不需要重写
如果把自由理解成对系统操作来说的话,当然越底层越自由,汇编可以访问寄存器,c可以有指针,到了高级语言,指针也被封装了
同样功能强也要看你怎么理解,类库多是功能强,还是跨平台多是功能强,还是对硬件或是系统操作算是功能强

4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识?
linux系统工程师,顾名思义对linux系统必须有所了解,如何使用,各个目录的作用,各种配置,脚本等,这是基础。然后就是linux的编程,对linux常用的编程语言的了解和使用,对linux系统api,内存管理,文件管理等的理解。再然后就看你的定位了,如果是上层,系统级的工程,那就要把思维扩散,学习如何管理,架构等,如果是底层,那就是对linux系统和硬件进一步深入研究

论坛徽章:
0
34 [报告]
发表于 2014-01-16 14:42 |只看该作者
1、你日常工作中使用的是那种编程语言?
c/c++、java、shell

2、你认为程序员与编程语言之间的关系是什么样的?
编程语言仅仅是一种工具,一种用于实现某种需求的实现工具。所谓的高级语言是对汇编语
言的封装,最终转换成机器指令来完成指定操作。对于一个程序员来讲,利用好编程语言十
分重要,一方面更有效的执行程序,另一方面能让不同程序员根据统一的标准进行交流。

3、编程语言真的是功能越强自由越少吗?
编程语言功能越强自由越少这种观点不一定正确。因为自由度不同的语言不一样,主要是编
译器的解析问题,如javascrip、shell就很灵活 ,主要要有强大在的解释器进行支撑。

4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识?
对linux系统工程师来讲,要求就多了,首先对的系统的架构比较清晰,如文件管理、进程与
中断、I/O管理等;然后对于C得深入理解,包括编写高效代码,调试,测试等;另外也要深入
了解汇编语言,在linux系统中,有一些模块内嵌汇编语言用于提高程序的效率,对这部分应该
有了解;最后软件工程思想是作为一个合格的linux系统工程师必不可少的,主要是考虑对系统
整体的把握,包括设计模式的应用、软件可扩展性、跨平台性需要、如何架构,这是另外一种
高度。

作为一名linux下开发的程度员,还没达到架构的水平,只是在项目过程中深刻体会到一个完整
的构架至关重要,真心想得到《深入理解程序设计:使用Linux汇编语言》这本书,更加深入的
学习编程语言。

论坛徽章:
17
戌狗
日期:2013-09-02 23:43:02技术图书徽章
日期:2014-04-29 14:16:02技术图书徽章
日期:2014-04-24 15:51:26未羊
日期:2014-04-06 22:10:30丑牛
日期:2014-04-06 21:23:29辰龙
日期:2014-04-06 21:20:22处女座
日期:2014-04-06 21:16:18技术图书徽章
日期:2014-04-02 15:10:51金牛座
日期:2014-03-10 22:26:18巨蟹座
日期:2014-02-17 17:12:12技术图书徽章
日期:2014-01-24 10:38:43摩羯座
日期:2013-11-29 18:00:18
35 [报告]
发表于 2014-01-16 16:47 |只看该作者
本帖最后由 jimmy-_-lixw 于 2014-04-05 22:14 编辑

..........

论坛徽章:
17
戌狗
日期:2013-09-02 23:43:02技术图书徽章
日期:2014-04-29 14:16:02技术图书徽章
日期:2014-04-24 15:51:26未羊
日期:2014-04-06 22:10:30丑牛
日期:2014-04-06 21:23:29辰龙
日期:2014-04-06 21:20:22处女座
日期:2014-04-06 21:16:18技术图书徽章
日期:2014-04-02 15:10:51金牛座
日期:2014-03-10 22:26:18巨蟹座
日期:2014-02-17 17:12:12技术图书徽章
日期:2014-01-24 10:38:43摩羯座
日期:2013-11-29 18:00:18
36 [报告]
发表于 2014-01-16 16:48 |只看该作者
本帖最后由 jimmy-_-lixw 于 2014-04-05 22:14 编辑

..........

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
37 [报告]
发表于 2014-01-16 17:25 |只看该作者
1、你日常工作中使用的是那种编程语言?
C、C++、C#、javascript,还有shell相关

2、你认为程序员与编程语言之间的关系是什么样的?
就是劳动者和工具之间的关系呗。
做啥活,用啥工具。写啥应用,用啥语言。
用正确的工具做正确的事,聪明人的选择。

3、编程语言真的是功能越强自由越少吗?
不应该嘛,功能和自由没有必然联系。

4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识?
思想最重要,要保持队形啊,所有的linux程序都这么优雅高效使用简单容易上手,不能掉队。

论坛徽章:
1
巨蟹座
日期:2013-12-03 13:34:29
38 [报告]
发表于 2014-01-16 17:45 |只看该作者
1、你日常工作中使用的是那种编程语言?
C C++

2、你认为程序员与编程语言之间的关系是什么样的?
编程语言是根据而已,程序员要做的就是更好使用

3、编程语言真的是功能越强自由越少吗?
不一定,看程序员的能力

4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识?
汇编语言,linux内核,和开源的思想

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34摩羯座
日期:2013-12-01 00:21:362015年迎新春徽章
日期:2015-03-04 09:49:45
39 [报告]
发表于 2014-01-16 20:01 |只看该作者
1、你日常工作中使用的是那种编程语言?
主要是C/C++,用的比较多,shell脚本也有用到。

JAVA 极少时候也会用。


2、你认为程序员与编程语言之间的关系是什么样的?
编程语言是工具,是用于迎合目前从事的工作,是最为得力的助手。作为首要助手,就需要对其有充分的了解,不要只关注于其是怎么工作的,更要注意其为什么会是这么工作的,背后的工作机理是什么。比如深入理解计算机系统关注的就是这方面,同样java语言,那么多包装类集,差异有何不同?了解其背后的源码甚至虚拟机工作机理就成了区别于普通程序员的本质不同。说这些的目的就是当你使用一种语言到一定程度后,仅关注表面的使用是不够的。

但同时可能面对现在的发展和竞争,光知道一门估计是不足的,基本的面向过程,面向对象,脚本甚至新的语言同样也需要有所了解,即熟悉老朋友,也需要结识新伙伴。

当对各种语言有所了解后,或许就会发现各自的优缺点,以及适用场合。在恰当的地方使用恰当的工具或许就是应该考虑的(当然或许这需要某些权限。。)


3、编程语言真的是功能越强自由越少吗?
或许不全对。C对内存的操作,给程序员的权限很大,但此时需要考虑的就更多,内存泄露问题,指针越界问题都出来了,所以分配内存,使用指针都是小心翼翼。但JAVA给的选择很小,都有回收机制,貌似都可以随意发挥。但我认为功能越强大的小心翼翼并不是减少了自有,套用一句话,能力越大责任越大,强大的功能下,更需要系统级别的全盘考虑,在这种谨慎的态度下,配合完善的功能,更能发挥语言的功力。


4、你认为成为一个合格的linux系统工程师,至少需要具备哪些方面的知识?
操作系统具体机理和计算机体系结构应该了解,特别是linux (可以选择具体的发行版),以及linux配置管理等

最好了解点linux内核,以及其中某些模块(文件系统)

linux下编程工具最好掌握(vim cvs等)

调试手段需要熟悉

基本的脚本编程需要掌握

如果有可能,了解些数据库知识,mysql等。

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
40 [报告]
发表于 2014-01-16 21:51 |只看该作者
程序员不仅是问题的解决者,同时也是诗人和教师。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP