recherche
Maisondéveloppement back-endTutoriel Python最「全能」的编程语言是什么?

最全能的编程语言是……

回复内容:

题主是想挑个头让咱们这帮程序员互相撕,然后他在暗处偷偷笑而已。 真没哪个语言在我印象里是全能的, 比如C虽然是高级"机器语言", 但是很多时候开发一些东西会很不方便啊.
如果真要比全能性的话, C/C++还算是比较全能的了, 但是(二进制)跨平台就不如JVM上的那些语言们, 也不如脚本语言.
C/C++当然可以用作Web服务, Apache就是90%以上的C写成的, 用C++当然更可以,
C++还可以用Qt来创建GUI应用, 可以用NDK做安卓开发,
但是C++开发的周期不是一般的长, 而且包也没Java多, 所以写C++的感觉就是自己造轮子. 在我不知道有stl之前, 连vector都照着.NET/Java里面的List自己实现了一个. 从Java/C#转过来的人想死的心都要有了. 当然这年头牛人都是自己写自己用的舒服的API的, 那么这一点姑且算个优点.
当然你硬要说写操作系统内核之类的, 那我也没办法, 脚本语言比如Python目前连编译到native的编译器实现都还没有呢, 要写kernel我觉得不可能...
所以尽可能地就是利用现有的工具, 把事情做好, 语言不难学, 最夸张的时候一天学了三个, 现在都不屑于罗列自己都学过哪些语言了 真正有用就好.

现在总结一下, 如果你有一个紧急的任务要你学一门新语言, 基本上除了Haskell或是Lisp(Scheme/Common/Clojure) 基本上可以从这样的sequence入手:
0.搞清楚Hello World程序的结构, 只有一行的除外
1.搞清楚脚本语言还是bytecode还是Native, 编译器/解释器/运行环境长啥样 代码里哪些是注释编译器会忽视, 哪些代码是预处理
2.看好是动态类型还是静态类型, 是强类型还是弱类型, 变量如何声明, 命名规范有哪些, 整数和浮点数有没有明显的区分, 比如3/2是等于1还是1.5 整数范围多少, 有没有溢出风险
3.学+ - * / 之类的运算符, 有没有++自增运算符, 能不能用 i += 1, 以及 Math library, && & || | > >>> ^ 能不能正常用
4.流程控制 if...else if...else switch for foreach while 等等, 这个我想说下, 现在很多语言不能把for loop写的像C一样, 这一点很不爽
4.看函数的声明, 是否需要返回类型声明, 是否需要声明函数原型, 是否默认引用传值, 是否支持重载之类 是否支持递归, 函数能不能放进一个变量里
5.看基本的数组等数据结构, 数组到底是指针还是对象, 有那些Collection, 如果有内建的数据结构可以说是新手最喜欢的东西了
6.看字符串的表示处理, 字符串是指针还是对象
7.异常处理, 有没有checked exception, 怎么抛异常又怎么抓
8.有没有OOP, 支不支持继承封装多态, class是怎么声明的, 如果是静态类型怎么用泛型/模板
没有OOP的有没有struct, union? 还是全部都有?
9.支不支持显式指针, 是否支持不安全代码, 内存管理(malloc free new delete), 垃圾回收
10. Lambda表达式, 函数指针/引用, 以及闭包函数, 他们是不是仅仅是语法糖? (比如Java 8就大体上是语法糖) function callback这个东西啊, 一颗赛艇!
11. 多线程, Concurrency, Synchronization
12. 文件IO, stdio

还有什么补充?
基本上就这样.
这么长的答案没这么个段子有点不像话...:

我的意思不是说C语言已经不要学了, C语言是编程之根本我们能不学? 我就明确告诉你这一点.
不要想搞个大新闻, 说C语言已经要没用了, 再把K&R批判一番. 你们呐 naive.
难道不是注释语言???

无害性 支持任何编译器

跨平台可移植性 分布式

面向理解

语法随意易理解 可读性高

比任何机器,汇编,高级语言简单易学 不是English吗? c, 有机器语言的地方,就有c
python,脚本语言中的瑞士军刀 python不行我直播日电灯泡 最「全能」的编程语言是什么? 0101010101010110101010101010101010 很明显是brainfuck。。运算能力等同于图灵机,能实现任意语言的算法 最「全能」的编程语言是什么? 大多数编程语言都是图灵等价的。所以一种语言能干的事情其他语言也能干。
Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Comment trancher un tableau Python?Comment trancher un tableau Python?May 01, 2025 am 12:18 AM

La syntaxe de base pour le découpage de la liste Python est la liste [Démarrage: arrêt: étape]. 1.Start est le premier index d'élément inclus, 2.STOP est le premier indice d'élément exclu et 3.StEP détermine la taille de l'étape entre les éléments. Les tranches sont non seulement utilisées pour extraire les données, mais aussi pour modifier et inverser les listes.

Dans quelles circonstances les listes pourraient-elles mieux fonctionner que les tableaux?Dans quelles circonstances les listes pourraient-elles mieux fonctionner que les tableaux?May 01, 2025 am 12:06 AM

ListesoutPerformarRaySin: 1) dynamicingizingandfrequentinSertions / Deletions, 2) StoringheteroGeneousData, and3) MemoryEfficiencyForsparsedata, butmayhaveslightperformanceCostSincertorations.

Comment pouvez-vous convertir un tableau Python en une liste Python?Comment pouvez-vous convertir un tableau Python en une liste Python?May 01, 2025 am 12:05 AM

Toconvertapythonarraytoalist, usethelist () Constructororageneratorexpression.1) ImportTheArrayModuleandCreateArray.2) Uselist (Arr) ou [Xforxinarr] à Convertittoalist, considérant la performance et le domaine de l'émie-efficacité pour les étages.

Quel est le but d'utiliser des tableaux lorsque des listes existent dans Python?Quel est le but d'utiliser des tableaux lorsque des listes existent dans Python?May 01, 2025 am 12:04 AM

ChooseArraySoverListsInpyThonforBetterperformanceAndmemeMoryEfficacitéInSpecificScenarios.1) LargenumericalDatasets: ArraySreduceDeMemoryUsage.2)

Expliquez comment itérer les éléments d'une liste et un tableau.Expliquez comment itérer les éléments d'une liste et un tableau.May 01, 2025 am 12:01 AM

Dans Python, vous pouvez utiliser pour les boucles, énumérer et les compréhensions de liste pour traverser les listes; En Java, vous pouvez utiliser des boucles traditionnelles et améliorées pour les boucles pour traverser les tableaux. 1. Les méthodes de traversée de la liste Python incluent: pour la compréhension de la boucle, de l'énumération et de la liste. 2. Les méthodes de traversée du tableau Java comprennent: traditionnel pour la boucle et amélioré pour la boucle.

Qu'est-ce que la déclaration de commutation Python?Qu'est-ce que la déclaration de commutation Python?Apr 30, 2025 pm 02:08 PM

L'article traite de la nouvelle instruction "Match" de Python introduite dans la version 3.10, qui constitue un équivalent pour les instructions de commutation dans d'autres langues. Il améliore la lisibilité du code et offre des avantages de performance par rapport aux if-elif-el traditionnels

Que sont les groupes d'exception à Python?Que sont les groupes d'exception à Python?Apr 30, 2025 pm 02:07 PM

Les groupes d'exception dans Python 3.11 permettent de gérer plusieurs exceptions simultanément, améliorant la gestion des erreurs dans des scénarios simultanés et des opérations complexes.

Que sont les annotations de fonction dans Python?Que sont les annotations de fonction dans Python?Apr 30, 2025 pm 02:06 PM

Les annotations de fonction dans Python ajoutent des métadonnées aux fonctions pour la vérification de type, la documentation et la prise en charge de l'IDE. Ils améliorent la lisibilité du code, la maintenance et sont cruciaux dans le développement de l'API, la science des données et la création de bibliothèques.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP