您对Python怎么看?
24383 887
[220 楼] 长门大明神 [泡菜]
18-4-9 00:55
Milky_Way 发表于 2018-4-8 21:27
看大家谈得欢。可错误不少。俺不是计算机专业出身,却是最早学自动化的。多少知道点嵌入式实时等等。

首先区分需要操作系统和不需要操作系统的系统。控制个空调啊电饭煲的啊,不需要操作系统,一个或几个可编程控制器PLC就够了。再高级的,需要用到单片机microprocessor的,大部分情况下也不用操作系统。但确实有针对它们的操作系统,比如ucOS。

接下来需要用操作系统的,就可以把空调电饭煲什么的先放一边。

先说最“重”的系统。所谓工控系统。这里有说了“工控系统”的。但概念不对。工控系统是控制那些使用PLC,单片机,以及嵌入系统的控制系统,是那个控制器,Controller。早年有通过各种串连线进行控制的,现在时兴网络和场地总线。这个系统是人机交互界面,对实时性要去也不是那么高。这些年embedded linux,windows,android都比较流行。很少用VxWorks的

嵌入式系统,定义比较麻烦。一般来说,它们都有CPU,但任务比较单一。直观地说,通常是那种一开机就进入主系统,也不需要自己安装系统到硬盘SSD上的。它们通常有ROM。所有有人会争辩智能手机是不是embedded。它们的操作系统在ROM上,通常也没有很长的开机时间,除非重启。但大部分人不认为它们是嵌入式,因为它们是“general purpose” ...


现在人机交互那部分很多交给上位机来做了,很多甚至都X86化。偷懒点的公司直接windows跑了(比如ATM一类的)
[219 楼] 长门大明神 [泡菜]
18-4-9 00:38
闲聊状态 发表于 2018-4-8 22:22
英伟达那个arm+cuda 主打智能车之类的吧 跑的是 linux

动车原来有过广告片跑的是win2000 后来还有跑xp的镜头

人有大脑 有神经节 有末梢神经 机器也是一样的 你不能指望一堆51去玩人工智能 尽管单片机有他自己的优势

python java这样的越是高级的语言越是要承担智能的工作 效率倒是其次的了


当增加三倍就能解决的性能问题就不是性能问题了。就像我们现在在互联网公司设计系统一样,第一考虑的是系统能否支持水平扩展,能简单加机器就解决的问题,搞那么复杂干嘛。不能简单加机器解决的问题就想办法把方案优化成可以通过加机器解决,否则单机的性能始终有瓶颈,不管用什么写,JAVA/C,哪怕是40年前用的纸带也不能把一台服务器的性能无穷大化。
[218 楼] 长门大明神 [泡菜]
18-4-9 00:35
clamber 发表于 2018-4-8 23:46
看了一些代码,写简单的数据库应用python似乎比java快捷很多。


python是快,不管是用tornado还是flask,不过不建议用django。当然了做这种MIS类的东西,RoR,python,PHP都慢不到哪去。
[217 楼] 长门大明神 [泡菜]
18-4-9 00:29
闲聊状态 发表于 2018-4-8 22:42
比起c python作为解释语言是不是还是慢点?


最消耗性能的复杂计算部分实际上还是C的代码执行,python只相当于在外部执行的调度和控制逻辑,那部分代码的性能问题可以忽略。
[216 楼] 长门大明神 [泡菜]
18-4-9 00:28
闲聊状态 发表于 2018-4-8 17:35
这个很难说的 要不然那些树莓派和类似的派都干嘛去了 硬件发展了

那些arm cpu 不是跑android 就是跑linux吧


arm上也不都是跑这些的,举一个最简单的例子,当年arm的开发板贵的时候,我们有个省钱的小技巧,用GBA模拟器来模拟运行ARM7的程序,因为GBA的CPU就是ARM7的。

另外由于现在多媒体设备硬件化的趋势,linux在民用的部分产品里面有了比较大的占有率,但是真正的在工业领域还是很小的。

小的从四轴飞行器的控制系统到大的矢量发动机的控制系统,哪个会用linux。 本帖最后由 长门大明神 于 2018-4-9 00:52 编辑

[215 楼] clamber [泡菜]
18-4-8 23:46
看了一些代码,写简单的数据库应用python似乎比java快捷很多。
本帖由安卓客户端发布
[214 楼] 我是ike [泡菜]
18-4-8 23:22
是慢些,怎么可能比C快
[213 楼] 闲聊状态 [泡菜]
18-4-8 22:42
ssawee 发表于 2018-04-08 14:38
你想多了
python 做人工智能不是不在乎效率是因为调用的库很在乎效率,tensorflow  caffe这些库的底层用的c用的cu...

比起c python作为解释语言是不是还是慢点?
本帖由安卓客户端发布
[212 楼] ssawee [泡菜]
18-4-8 22:38
闲聊状态 发表于 2018-4-8 22:22
英伟达那个arm+cuda 主打智能车之类的吧 跑的是 linux

动车原来有过广告片跑的是win2000 后来还有跑xp的镜头

人有大脑 有神经节 有末梢神经 机器也是一样的 你不能指望一堆51去玩人工智能 尽管单片机有他自己的优势

python java这样的越是高级的语言越是要承担智能的工作 效率倒是其次的了

你想多了
python 做人工智能不是不在乎效率是因为调用的库很在乎效率,tensorflow  caffe这些库的底层用的c用的cuda
python只是胶水,简单好用就行 本帖最后由 ssawee 于 2018-4-8 22:40 编辑

[211 楼] 闲聊状态 [泡菜]
18-4-8 22:22
索尼菜鸟 发表于 2018-04-08 09:41
Android其实和Windows之类的通用操作系统一样,但是都不是工业控制要用到实时操作系统...

英伟达那个arm+cuda 主打智能车之类的吧 跑的是 linux

动车原来有过广告片跑的是win2000 后来还有跑xp的镜头

人有大脑 有神经节 有末梢神经 机器也是一样的 你不能指望一堆51去玩人工智能 尽管单片机有他自己的优势

python java这样的越是高级的语言越是要承担智能的工作 效率倒是其次的了
本帖由安卓客户端发布
[210 楼] Milky_Way [泡菜]
18-4-8 22:21
Milky_Way 发表于 2018-4-8 21:27
看大家谈得欢。可错误不少。俺不是计算机专业出身,却是最早学自动化的。多少知道点嵌入式实时等等。

首先区分需要操作系统和不需要操作系统的系统。控制个空调啊电饭煲的啊,不需要操作系统,一个或几个可编程控制器PLC就够了。再高级的,需要用到单片机microprocessor的,大部分情况下也不用操作系统。但确实有针对它们的操作系统,比如ucOS。

接下来需要用操作系统的,就可以把空调电饭煲什么的先放一边。

先说最“重”的系统。所谓工控系统。这里有说了“工控系统”的。但概念不对。工控系统是控制那些使用PLC,单片机,以及嵌入系统的控制系统,是那个控制器,Controller。早年有通过各种串连线进行控制的,现在时兴网络和场地总线。这个系统是人机交互界面,对实时性要去也不是那么高。这些年embedded linux,windows,android都比较流行。很少用VxWorks的

嵌入式系统,定义比较麻烦。一般来说,它们都有CPU,但任务比较单一。直观地说,通常是那种一开机就进入主系统,也不需要自己安装系统到硬盘SSD上的。它们通常有ROM。所有有人会争辩智能手机是不是embedded。它们的操作系统在ROM上,通常也没有很长的开机时间,除非重启。但大部分人不认为它们是嵌入式,因为它们是“general purpose” ...


才发现开头那段我写反了。脑子里想的和写的有时候反过来了。单片机PLC简单到复杂。反了。
[209 楼] mohanwei [注销用户]
18-4-8 21:54
用户已注销,历史内容不予显示
[208 楼] Milky_Way [泡菜]
18-4-8 21:27
看大家谈得欢。可错误不少。俺不是计算机专业出身,却是最早学自动化的。多少知道点嵌入式实时等等。

首先区分需要操作系统和不需要操作系统的系统。控制个空调啊电饭煲的啊,不需要操作系统,一个或几个可编程控制器PLC就够了。再高级的,需要用到单片机microprocessor的,大部分情况下也不用操作系统。但确实有针对它们的操作系统,比如ucOS。

接下来需要用操作系统的,就可以把空调电饭煲什么的先放一边。

先说最“重”的系统。所谓工控系统。这里有说了“工控系统”的。但概念不对。工控系统是控制那些使用PLC,单片机,以及嵌入系统的控制系统,是那个控制器,Controller。早年有通过各种串连线进行控制的,现在时兴网络和场地总线。这个系统是人机交互界面,对实时性要去也不是那么高。这些年embedded linux,windows,android都比较流行。很少用VxWorks的

嵌入式系统,定义比较麻烦。一般来说,它们都有CPU,但任务比较单一。直观地说,通常是那种一开机就进入主系统,也不需要自己安装系统到硬盘SSD上的。它们通常有ROM。所有有人会争辩智能手机是不是embedded。它们的操作系统在ROM上,通常也没有很长的开机时间,除非重启。但大部分人不认为它们是嵌入式,因为它们是“general purpose”的,简单说,功能太多了。

嵌入式系统现在Linux和其变种占绝对优势。Android也算在这一类。第二是FreeRTOS

实时系统,可以算作嵌入式系统的子类,当然也有些例外。占主流的是FreeRTOS,然后是VxWorks和RTLinux

这几年IoT比较流行。因为要上网,普通PLC和不带OS的单片机难以胜任。现在用FreeRTOS和各种Linux的比较多。但各Linux加起来,依然占绝对领先地位

嵌入系统开发,C占主导。其次是C++。再其次就是,楼主提到的Python
[207 楼] mohanwei [注销用户]
18-4-8 21:15
用户已注销,历史内容不予显示
[206 楼] 不刀不舒服斯基 [泡菜]
18-4-8 20:15
索尼菜鸟 发表于 2018-04-08 09:43
中国武术不行就是马步蹲多了,该练的不练,整天搞没用的东西...
不能同意更多
本帖由 LG-H818 客户端发布
[205 楼] 黑风城主 [泡菜]
18-4-8 20:10
swift不能编服务器端,你光学客户端怎么能行呢?

马克布克普若 发表于 2018-3-30 00:28
就是要从长远性来考虑。

现在小孩才12岁,等他22岁大学毕业的时候,很有可能苹果已经一统天下,C++/JAVA什么的都没人用了,微软破产,windows淘汰。大家都已经使用swift。

所以现在学swift是最正确的。
[204 楼] 索尼菜鸟 [泡菜]
18-4-8 19:59
感觉某位“精通”汇编,Linux内核的程序猿和孔乙己有的一比
[203 楼] 郭斯特罗小黑 [泡菜]
18-4-8 18:43
以后估计是ai编程吧……
本帖由安卓客户端发布
[202 楼] ssawee [泡菜]
18-4-8 18:37
我是ike 发表于 2018-4-8 12:37
哈哈

动态网站又不是非要分布式加高可用性。

搞个网银转账的,试一试吧。

没人会为了python用python
哪个个人有资格能开银行?
[201 楼] 我是ike [泡菜]
18-4-8 18:36
你能正确读懂我的意思嘛?
[200 楼] 索尼菜鸟 [泡菜]
18-4-8 18:03
我是ike 发表于 2018-4-8 18:00
算了,说了半天很费劲,简单一句话,你用pascal入门,学C,然后学java,走正路,不要去碰动态语言--会培养出不懂得静态类型检查的坏毛病。
刚才还不是说必须学Linux内核和汇编吗?现在怂了?干脆让12岁的孩子把离散数学也学了
[199 楼] 我是ike [泡菜]
18-4-8 18:00
算了,说了半天很费劲,简单一句话,你用pascal入门,学C,然后学java,走正路,不要去碰动态语言--会培养出不懂得静态类型检查的坏毛病。

[198 楼] 索尼菜鸟 [泡菜]
18-4-8 17:43
我是ike 发表于 2018-4-8 17:41
作为入门,说白了,就是把基础概念,架子搭建好,例如练武的就是把马步蹲好,那么你首先得有语言的静态类型的概念吧,对于动态类型的python来说,它天然的就把这个概念给模糊过去了,不利于良好的编程习惯的培养!!!!!!!!!!

※※来说,编译时的强类型检查,对于避免后期程序运行发生错误是非常重要的--这个在美国国防部针对多种武器开发过程中发生的错误都是有据可查的,所以后来美国国防部专门就武器系统开发的语言进行招标!其中一个要求,就是要类型安全!所以Ada这种pascal风格的法国的风格的强类型语言才在后期中标了,你一来就搞个动态类型的语言,说白了,就是培养不好的编程习惯!
中国武术不行就是马步蹲多了,该练的不练,整天搞没用的东西
[197 楼] 索尼菜鸟 [泡菜]
18-4-8 17:41
闲聊状态 发表于 2018-4-8 17:35
这个很难说的 要不然那些树莓派和类似的派都干嘛去了 硬件发展了

那些arm cpu 不是跑android 就是跑linux吧
Android其实和Windows之类的通用操作系统一样,但是都不是工业控制要用到实时操作系统
[196 楼] 我是ike [泡菜]
18-4-8 17:41
作为入门,说白了,就是把基础概念,架子搭建好,例如练武的就是把马步蹲好,那么你首先得有语言的静态类型的概念吧,对于动态类型的python来说,它天然的就把这个概念给模糊过去了,不利于良好的编程习惯的培养!!!!!!!!!!

※※来说,编译时的强类型检查,对于避免后期程序运行发生错误是非常重要的--这个在美国国防部针对多种武器开发过程中发生的错误都是有据可查的,所以后来美国国防部专门就武器系统开发的语言进行招标!其中一个要求,就是要类型安全!所以Ada这种pascal风格的法国的风格的强类型语言才在后期中标了,你一来就搞个动态类型的语言,说白了,就是培养不好的编程习惯!

[195 楼] 我是ike [泡菜]
18-4-8 17:36
长门大明神 发表于 2018-4-8 14:46
目前真正用于嵌入式设备的多数是各种RTOS,wince也少了,linux在某些不计较性能的场景下到也是不少用,不如各种nas/switcher一类的设备。


你先搞清楚什么叫做嵌入式系统,什么叫做实时操作系统,以及这2者的区别再说。

嵌入式系统不一定就是实时操作系统,明白嘛?
[194 楼] 闲聊状态 [泡菜]
18-4-8 17:35
索尼菜鸟 发表于 2018-04-08 08:35
你家里的空调跑Linux的?嵌入式操作系统主要用在工业控制和家电,比如VxWorks之类的RTOS,除了路由器你还懂什么?

...


这个很难说的 要不然那些树莓派和类似的派都干嘛去了 硬件发展了

那些arm cpu 不是跑android 就是跑linux吧
本帖由安卓客户端发布
[193 楼] 大眼镜小眼睛 [泡菜]
18-4-8 17:33
我是ike 发表于 2018-4-8 14:26
很简单,回答问题本身,学什么语言?

我觉得,既然耗费时间学,就学个以后可以用来最便于赚钱的吧。

你去招聘网站看看,对什么语言的程序员需求最大吧,绝对是Java!


等12岁的程序员长到去应聘 什么语言需求最大可还真不好说。
[192 楼] xelmirage [泡菜]
18-4-8 17:24
我也在相似年纪学了第一门语言,当时为了考二级学的basic. python感觉应该可以,如果您的孩子跟不上的话,可以考虑转过头先试试scratch
[191 楼] 长门大明神 [泡菜]
18-4-8 17:17
索尼菜鸟 发表于 2018-4-8 17:02
这就是Black Box,你只需要知道如何操作,而无需知道其原理,否则所有事情都要亲历亲为,世界上的已有的知识就够学几万年的


是的,现有的开发者很大程度上是依赖于前人的积累。至于原理性的东西,当需要学的时候自然就会去学了。