C#、入門チュートリアル (40) - 主流のプログラミング言語 C、C++、C#、Java、Go、Python の比較と提案

貧弱なアセンブリ言語からコンピューター プログラミングを学び、応用するようになり、数十年にわたって商用ソフトウェア、産業用ソフトウェア、および大規模なインターネット システムの開発に携わってきた著者.この記事では、C、C++、C#、Java、 Go (Golang)、Python などの主流のプログラミング言語を簡単に比較すると、初心者やプロジェクト パーティー A が適切な開発言語を合理的に選択するのに便利です。

注: プログラミング言語に複数の世代というものはなく、アプリケーション シナリオが異なるだけです。Matlab (その中の m 言語は「クラス」プログラミング言語と見なすことができます)、SQL は従来の意味でのプログラミング言語と見なすことはできません。

何年も前に、人々は Visual Basic の代わりに C/C++ を学ぶように大声で促されました. 効果は良くありませんでした. 人々は、大学の教師、トレーニングの教師、プログラミングができない人気のある本のアドバイスをより喜んで信頼しました. しかし、実際にはVB を学んだ人が最初に排除されました。大声でみんなに C# を学ぶように呼びかけてください。

1 難しい選択

人間の選択と行動は、目標によって決定されます。

言語を選択することは、武道の学校便利な武器を選択するようなものです.短期的な目標と長期的な目標を考慮する必要があります:

(1)学業または仕事の修了

宗派に入ると、BOSS(リーダーまたはパーティーA)が必要と言うものは何でも学ぶことができ、自律性はありません.

(2 )将来の就職や転職の選択肢を増やす

どの言語も知っていることが一番です。ギャングに参加するのは最高です!

実際、表面上はすべての言語が似ており、万能薬である方が優れています。

(3)愛ゆえのプログラミング(華山倫堅?)

C#から始めることを選択することをお勧めします。C/C++、java、python などはすぐに習得できます

したがって、この記事はプログラマーを目指す読者向けに書かれています。

2 信頼できる提案

人の生活の中で、身の回りはあらゆる種類のプログラミングの提案で満たされていますが、そのほとんどは信頼性が低く、信頼性が低いものです。

プログラミング言語に関するアドバイスを得るための信頼できるチャネルはどれですか?

(1)学校の先生(ギャングの頭)

あまり信頼できません。

教師 (著者は以前は大学の教師であり、発言権を持っています) は、主に論文の完成、書籍の出版、プロジェクトの実行、タイトルの評価を行うプログラムです. 彼らのほとんどは、商用の開発に参加する能力と経験を持っていません. 「前門スタイル」のようなソフトウェア —— 派手だが役に立たない. 彼らは優れた教師ですが、そのほとんどは資格のあるプログラマーではありません。

(2)訓練機関(路上大道芸人)

非常に信頼できません。

養成機関(出版社)は、人気のあるもの、宣伝されているもの、出版されているものを基本的に養成し、養成、カウンセリング、出版、動画などを通じて、いち早く商業的利益を得ることに専念します。言語が良いかどうかは、お金を稼げるかどうかだけが選考基準です。

(3)技術部門の先輩(シニア)

これで間に合います。業界で20年以上の経験があることが最善であり、大きな工場を見つける必要はありません. 大規模な工場のプログラマーの総合力は一般的に比較的低く、アーキテクチャを理解できる人はプログラミングが苦手であり、プログラミングを理解できる人はアーキテクチャの考え方がありません。

中小規模の技術チームのリーダーが最も発言権を持っています。

(4) 最高の教師は質問と演習です

いわゆる実践とは、どのような実際的な問題を解決したいのですか? 実現する機能は?

その後、それは際限なく実装され、完成され、アップグレードされ、改訂されます。

この文章を書いているとき、ジェット・リーが「少林寺」でバケツを運ぶシーンを思い出しました

もちろん、仕事や割り当てのためではありません。有害なゲーム、退屈なテレビ、無知な短いビデオをあきらめる限り、短期間でプログラミングの達人になります. 言語はあまり関係ありません。

選択の 3 つの要因

3.1 選択時

人的一生 = 无数次错误的选择90% + 很多不明不白的迫不得已的选择9.5% + 极少正确的选择0.5%

理性的选择 = 方程组(各种选择因素)

感性的选择 = 抓阄(或翻硬币)

无论是理性的 或是 感性的 ,实际上都无法确认是否一定正确,更别提是不是最好的。然而,火车毕竟到站了,都得下车,下车再说吧。

最失败人的首先输在不敢选择;次之也是可悲的,是没有权力去选择;稍好的是选择了错误的选择;再稍好的是做了选择也未知结果;没有更好的了。

比好只是酒桌文化,比烂才是殊途同归的真实生活。

3.2 选择的因素

以下的文字是对于试图将编程作为生活技能而言的,理性的选择。

3.2.1 适用性(系统、性能与场景)

语言的适用性主要考虑编程能力要覆盖哪些:(1)操作系统,Windows All或指定版本?Linux什么版本?Unix?Andriod?iOS?(2)高性能需求场景或没有性能需求的场景;(3)应用模式:PC桌面应用?浏览器应用?手机或平板桌面?(4)高交互式应用,比如游戏,或低交互性应用如web服务器监控程序。

如果将语言比作武器,C/C++是佩刀——练武之人常备武器,python是飞镖——玩着热闹却杀不了人,Java/C#是剑——侠客必备的实用而飘逸之器,go是大刀——看似强大干不了很多细活,而且刀柄握在google手里。

3.2.2 生态(组件与开源)

语言生态是指可以获取的语言规范、指南、公开资料、组件与支持、技术社区的成熟度、开源代码质量与数量等等。简单地说,生态就是能够获得资料或代码的质量与数量。

生态与历史密切相关,C/C++的生态是最好的,代码与资料可信度很高;pyhton的生态也不错但大多限于AI领域,而且代码质量一般,无法工业应用;java生态很好,不过大多局限于互联网应用;C#的生态最好,其组件大多由工业化或商业化软件开发商提供,开源代码质量最高,世界上绝大多数商业化与工业化的软件及顶尖游戏都选择C#作为开发语言。

3.2.3 开发环境

编程的最终结果是可以被用户使用的产品,其核心需求无非三条:(1)好用;(2)好看;(3)稳定。

因而大家都追求好的开发环境,期望将时间更多花在算法等核心代码上。

选择具备良好开发环境的语言是明知的选择。

Visual Studio & Visual Studio Code 无疑已经是绝尘之马。

3.2.3 团队开发

团队开发的核心问题是代码可重用、低成本维护。

3.3 选择方程组

选择方程组从更细节的方面给出一写对比,供大家参考。

以下表格为作者经验与一面之词而已。

3.3.1 按软件的系统层级

3.3.2 按操作系统

3.3.3 按用户角色

3.3.4 团队开发适应性

3.3.5 按语言生态

3.3.6 按开发环境

理性选择未必是最佳选择,因为世界上没有最佳选择,选就是了。

おすすめ

転載: blog.csdn.net/beijinghorn/article/details/128933465