目錄
回复内容:
首頁 後端開發 Python教學 Python 现在这么火,国外有些大学基础也是 Python,为什么国内大学还在教C 语言呢?

Python 现在这么火,国外有些大学基础也是 Python,为什么国内大学还在教C 语言呢?

Jun 06, 2016 pm 04:10 PM
fortran matlab python

补充:看来python确实是一门很火的语言,大家的关注度如此之高!根据各位知友的回答,python以其简单易学,容易上手的特性,作为入门级语言,给我这样非计算机专业的同学作为兴趣语言或者工具语言,是非常好的。前不久和同学们交流中得知很多人也在用python做计算,虽然我们水力学专业比较偏向于实用fortran进行编程计算,但比起python,繁琐的基础编程还是挺费时费力的。也有同学使用matlab进行编程计算,我想这跟python有同样的原因。
其实我提这个问题的原因,也在于现在的语言工具很多,且都好用,也有很多人用。我大一学习C的时候确实感觉到困难,一来是自己学习的我积极性不高,二来实在提不起兴趣,最开始的几节课没听懂,后面就跟不上,也不爱学了。各位知友的分析也确实点中要害,羞得我掩面。
还有一个问题,就是今年刚学fortran,有人跟我说,因为计算速度快,做科学计算用的多,当然我们水力学也一直用。但是也有同学讨论说其实在计算速度方便,主要是算法优化,比如matlab,只要循环越少,速度就越快。利用它自带的函数,进行矩阵计算,速度也可以很快的。在这里也想向各位万能的知友请教一下,matlab中,能利用自带函数,进行矩阵计算,避免循环,从而提高计算速度的例子。
本人既是知乎新人,也是编程菜鸟,问的问题如显低级,拉低各位答友逼格,还望见谅!

回复内容:

想太多了,什么都是渐进的,Python也不是唯一真理。
国内的大学普遍来说教材更新确实是慢,这个没什么好洗地的。不过真的编程入门换成Python并不等于教学水平就一定提升上来了,别的不说,单说拒绝C是因为难学,这个想法就更糟糕的多…… 别的学校我不清楚,但是就我知道的几个美国的学校来说,虽然python是挂在CS下的,但是一般都是给其他系学生选修。这也是为啥python的课号很低,甚至比Java还低,让大家以为这个是CS的入门课,其实不是啊。大家可以看看,很多有python课的学校CS学生的必修课表里面根本就没有python啊,都是从Java开始的。哦,顺便提一句,C确实是必须,但是C++并不是,学C主要是为了上后面的OS,network等课。C++对于教育来说意义并不大,美国的software development的课都是用java的上的。
其实这里就可以看出,美国本科并不会以教编程语言为目的而教某种语言,教编程语言都是为了之后课程的学习而打基础的。仔细想想大家就能明白,Python学完之后对CS之后课程的学习基本没有啥好处。你说是要用python来学data structure,system programming,还是compiler啥的?Python确实很强的,也很好学,但是它太高level了,和底层已经脱节了。真正用Python的人遇到需要,第一反应是去找有没有现成的lib而不是自己写一个,但是这一点对于本科学习是不可取的。 我是个忠实的python粉,忠实到从头到尾看通了cpython解释器的源码,工作中能用python的地方尽可能的用python解决。然而我认为python绝不适用于cs入门教学语言。一个没有C这样靠近硬件层语言知识和C++/Java这种对象化语言知识的人是不可能真正精通Python的。

Python的基础概念是最简的对象化实现,内存管理都采用统一的计数GC,为了提高开发效率而限制了几乎所有的底层操作。这作为一个对对象化概念清晰、对内存管理逻辑清楚、对算法应用恰当的程序员和研究者来说无疑是提高工作效率的神器。

然而入门教育的对象是普通学生,其中大多数不要说原理,连对象化、堆空间与栈空间、数据在内存中的表现形式等等最最基本的概念都没有。让他们学python入门就如同让四则运算都不会的孩子直接上手微积分。

偏偏python还非常暧昧:它是解释语言,却可以加载C编译的模块;它是动态类型,却同时又是强类型;它全对象化,却对若干基础类型通过“不可变”实现了类似变量的操作……这意味着概念不清晰的人就算能写python代码,也没办法理解其执行逻辑,会遇到自己不能理解的不知原因的错误。

用python做入门教学,优势无非在于刚开始的学习梯度小,反馈高,容易提起兴趣,给非计算机专业的学生当当入门教材或许还有些意义。但是cs不学原理不学基础一口气爬到现代语言的高架子上,那只是等学生自己掉下来摔死。 谢邀。

可能题主被某些假象蒙蔽了或者道听途说了… 以我接触到的来说,如果是非CS 专业的学生,对于理工科Python确实是一个比较热门的基础课程。但对于CS 专业,这…我记得语法特性等等都是秒过,做Data Mining 的时候,库的学习是基于数学模型的,重点是数!学!建!模!跟语言没啥关系,所以对于Python也是秒过… 话说如果一开始不以C/C++学起,后面你也是要把坑填掉的。

最后补充:很多新手以!为!编程很简单(不就是那些语法加常用库砌起来的嘛)以!为!写着相似代码出来就能与大师并肩,以!为!看着某些项目的源码其实也不过如此,其实代码背后一层套一层的架构,框架,模块化,业务逻辑的实现与优化等逻辑思维的抽象,才是你要学习的。语言只不过是实现这种逻辑思维的工具,请不要在纠结哪种语言最好的,这样会暴露智商的。请选最合适的。

手机打的字,时间较仓促,有不合适的地方请见谅。

以上 你都是学水力了,还想用Matlab???来来来给你个流体场模拟去吧。
底层用Fortran写的,经过无数优化的ANSYS,动辄都要好几天才能算完一个,你跟我说你用Matlab???
Matlab 是科学计算神器,但不能大规模计算!!!
Matlab 是科学计算神器,但不能大规模计算!!!
Matlab 是科学计算神器,但不能大规模计算!!! C语言作为入门课程最大的问题并不在于难学,而是在于没有乐趣。
大部分同学不是没有这个能力去学好CS课程。而是从一开始就丧失了兴趣。

用Python作为入门课程的好处,第一是减小难度,第二是培养乐趣。
我们很容易的就可以做些好玩的事。
有了乐趣和想做的事情以后,学其他CS课程就会比较有目的性。 哈?Java和c最火吧? 先问是不是
北大的非计算机类专业的编程课已经全部改用Python 大部分学校c入门是为了讲语法的 某种意义上说Python的语法和不少语言都差得挺远。。。比如说缩进代替定界符 而且作为动态类型的语言 用不好会用出问题而且很难debug 所以不适合 不过 现在这种拿TC教c 拿VC++6.0教c++的做法确实是不能提倡
实际上以我们这个专业来看 讲c c++都讲得不深 作为理科的基础课程 专业课入门是Python R bash脚本 数值分析是c和MATLAB c#和VB.net选择一个用来讲用户界面和数据库连接 后面的课像生物信息算法 机器学习 计算基因组学基本属于语言无关 想用什么用什么 所以我们交作业从MATLAB Python(2和3都有。。。) Perl Ruby R到c c#都能看到。。。感觉助教好可怜= =而且大家合作完成大作业的时候。。。各种语言的通信也是一个大坑啊。。。最后还是不得不去搞c 不懂c的话Python和其他语言的通信怎么办。。。
当然。。。我真没见过有人写java啊哈哈哈哈 啥,你说c难学?????
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

See all articles