C ++ có đáng học vào năm 2022 không

Bài viết này là quan điểm của cá nhân tôi. Mọi ngôn ngữ đều tốt như một công cụ, chỉ là cách bạn, nhà phát triển, sử dụng nó như thế nào

Show

Bạn có thể sẽ không hoàn thành bài viết này. Trong thực tế, tôi có thể đã mất bạn

  • sang tab khác trong trình duyệt của bạn
  • Hoặc một email từ sếp của bạn
  • Hoặc một ping từ một đồng nghiệp
  • Hoặc bất kỳ phiền nhiễu kỹ thuật số nào khác đã định nghĩa cuộc sống hiện đại của bạn

[Các đề xuất dưới đây dành cho bối cảnh của Hoa Kỳ, Vương quốc Anh và các quốc gia thuộc thế giới thứ nhất và một số quốc gia thuộc thế giới thứ 2 (Nga và các nước láng giềng, v.v.). Cuộn xuống để xem ngữ cảnh Ấn Độ và Trung Quốc. ]

BAN NÊN HỌC

  1. Javascript — Được sử dụng nhiều nhất, linh hoạt, dễ dàng, cộng đồng nhà phát triển lớn và WORA (Viết một lần chạy mọi nơi), viết kịch bản, giao diện người dùng, phụ trợ, ML, trò chơi, thiết bị di động và ứng dụng web (lưu ý địa ngục phụ thuộc của nó)
  2. Python — dễ học, phụ trợ, ML, khoa học dữ liệu, trực quan hóa dữ liệu, viết kịch bản, hack, tự động hóa, lĩnh vực giáo dục và tài chính, quét web, việc áp dụng tiếp tục phát triển
  3. Dart — Một cơ sở mã cho ứng dụng Android, iOS, Web App, Windows, macOS(beta), Linux(beta), hệ thống nhúng (không ổn định), máy chủ → Flutter
  4. C# — Nền tảng bất khả tri, đơn giản, ngôn ngữ có mục đích chung, máy tính để bàn, bảng điều khiển và ứng dụng web, cửa sổ và dịch vụ web, phát triển trò chơi, VR, AR
  5. Go — Giải quyết các vấn đề về khả năng mở rộng, mã thanh lịch đơn giản, dễ học, ngôn ngữ của đám mây, DevOps, chương trình phụ trợ, máy chủ, vi dịch vụ, DNS, phát triển gốc trên đám mây. (Uber, Netflix, Docker, Kubernetes, Soundcloud, Prometheus)

BẠN NÊN CÂN NHẮC HỌC

  1. Java — Có nhu cầu cao trên toàn thế giới, dữ liệu lớn, android, tài chính, cơ sở dữ liệu, phần mềm hệ thống, công cụ kiểm tra, vua doanh nghiệp, ngôn ngữ cốt lõi của các công cụ tiêu chuẩn ngành như Apache Kafka, spark, hive, MTLAB là ứng dụng phân tán, dựa trên Java, IoT
  2. R — thống kê, ML, Trực quan hóa dữ liệu, fintech, nghiên cứu, bán lẻ, công nghiệp ô tô, nhưng chậm và cần nhiều dữ liệu
  3. Kotlin — web phía máy chủ, phía máy khách và Android, (sắp có hệ thống nhúng, macOS và iOS), plugin lớp, vi dịch vụ, hợp đồng thông minh, phụ trợ, khoa học dữ liệu.
    Swift — Phát triển cho mọi thứ có  trên đó (iPhone, iPad, macOS, watchOS, tvOS và ứng dụng cho tất cả chúng) linh hoạt, đơn giản hóa các phương pháp phát triển ứng dụng gốc hiện có, hiệu quả hơn obj-
  4. Rust — quản lý bộ nhớ, lập trình hệ thống, nhân Linux, công cụ trò chơi, hệ điều hành, hệ thống tệp, thành phần trình duyệt và công cụ mô phỏng cho thực tế ảo. Mất một ít thời gian để tìm hiểu (so với Go). trả lương cao
  5. Khác → C và Julia

BẠN KHÔNG NÊN XEM XÉT

  1. Ruby — ứng dụng web, tự động hóa (WATIR), cạo, máy chủ, DNS, nhưng hiện đã có các công cụ tốt hơn. (Chú thích bên lề. Github, Gitlab được viết bằng Ruby on Rails framework và vẫn là lựa chọn hàng đầu của nhiều startup vì dễ MVP và triển khai nhanh)
  2. PHP — PHP ban đầu là viết tắt của Trang chủ cá nhân, nhưng bây giờ nó là viết tắt của chủ nghĩa khởi tạo đệ quy, Bộ tiền xử lý siêu văn bản.
    → GUI trên máy tính để bàn, phụ trợ web, thiếu các công cụ sửa lỗi tốt (so với các ngôn ngữ khác), lương tương đối thấp, vẫn còn phổ biến rộng rãi, cạnh tranh gay gắt từ java, Thương mại điện tử và các trang web công cộng King. [Các phiên bản trước của PHP ít chú ý đến các tính năng bảo mật hơn, hiện tại, nó mạnh mẽ như bất kỳ ngôn ngữ nào khác]
  3. C++ — cầu nối giữa LLP và HLP, bộ nhớ không an toàn, phát triển công cụ trò chơi, cấp hệ điều hành, nhúng, fintech, giao dịch, trình biên dịch, trình duyệt, máy ảo, có thể gây khó chịu khi làm việc với. (Visa, Mastercard, Amex đều sử dụng C++ cho hệ thống phụ trợ của họ). Đừng xem xét C ++ nếu chơi game và lập trình phần cứng không làm bạn hứng thú
  4. Các ngôn ngữ siêu mới và rất dành riêng cho thị trường ngách không có cộng đồng lành mạnh. [Để biết thêm về điều đó, vui lòng tham khảo phần cuối của bài viết]

[Chỉnh sửa. Java được thăng cấp lên phần 'Bạn nên xem xét' sau khi xem xét với các nhà phát triển ngành. ]

CHO WEB3

ngôn ngữ

Solidity, Javascript, Rust, C++, Chất nền

khung

Khung Truffle, Khung Hardhat, Khung Brownie, SDK OpenZeppelin, SDK Chainlink

CHO BỐI CẢNH ẤN ĐỘ

  1. Java — Ngôn ngữ được yêu cầu nhiều nhất theo Thị trường Việc làm Ấn Độ, Đặt cược an toàn
  2. Javascript hoặc Python — Làm chủ bất kỳ ai và bạn đã sẵn sàng để bắt đầu. Giai đoạn = Stage
  3. C++ — Sử dụng nó cho Cấu trúc dữ liệu, thuật toán và lập trình cạnh tranh (tại Codeforces, Codechef, Topcoder, SPOJ, v.v. và tham gia Hashcode, Kickstarter, Codejam, Hacker Cup, ACM ICPC, v.v.)

sự giới thiệu. Java và Javascript

CHO BỐI CẢNH TRUNG QUỐC

  1. Java [29. 28%]
  2. C++ [16. 08%]
  3. Javascript [15. 09%]
  4. C# [10. 95%]
  5. con trăn [8. 21%]
  6. Đi [6. 94%]
  7. PHP [5. 19%]
  8. Matlab [1. 48%]
  9. Lúa [1. 28%]
  10. nhanh chóng [0. 83%]

Nguồn tại đây, [xx%] cho biết tỷ lệ phần trăm nhà phát triển sử dụng ngôn ngữ đó trên 100 nhà phát triển

Tất cả các ngôn ngữ lập trình đều được xây dựng cho một số mục đích cụ thể, theo thời gian, chúng chuyển hướng sang các ngôn ngữ có mục đích chung (có thể được sử dụng để mã hóa hầu hết mọi thứ, chẳng hạn như. g Javascript, Java và ở một mức độ nào đó là Python)

Bạn có cơ hội rất mong manh (nếu bạn là sinh viên mới ra trường) để trực tiếp nhận được Công việc đầu tiên của mình nếu bạn chỉ biết.
1. Rỉ sét, nhưng không phải C++
2. Đi, nhưng không phải Java
3. Kotlin chứ không phải Java
4. Swift, nhưng không phải Objective-C
5. Julia, nhưng không phải Python
6. Phi tiêu, nhưng không có kinh nghiệm với bất kỳ ngôn ngữ phát triển ứng dụng gốc nào.

Tất cả các bạn sẽ không đồng ý với tôi về điều này nhưng không sao đâu

Chỉ cần xem kỹ hơn Mô tả công việc của những công ty thuê những người biết các công nghệ tiên tiến, họ sẽ “phải có 1–2 năm kinh nghiệm làm việc với ngôn ngữ [ngôn ngữ-mà-bạn-ghét]”

Mọi người cho rằng PHP chạy trên thế giới,
→ Chắc chắn rồi, theo % trang web thì PHP dẫn đầu nhưng này, 1/3 trang web trên hành tinh này là trang WORDPRESS và Wordpress được xây dựng trên . Tại sao mọi người chuyển sang Javascript nếu PHP tuyệt vời như vậy? .

Sau đây là một số phân loại nhất định của ngôn ngữ, vui lòng xem qua,

Dựa trên các mô hình lập trình khác nhau

Ngôn ngữ lập trình hướng đối tượng

Java, C++, C#, Python, Javascript (giả OOP), Delphi, Smalltalk, Lisp, Ruby, Dart, Eiffel, Groovy, Julia, Nim, PHP

Ngôn ngữ lập trình thủ tục

CƠ BẢN, C, PASCAL, FORTRAN, Go

Ngôn ngữ lập trình chức năng

Haskell, SML, Scala, F#, ML, Scheme, R, JavaScript, Erlang, Elixir, ReasonML, OCaml

Ngôn ngữ lập trình kịch bản

  • Ngôn ngữ kịch bản phía máy chủ. Javascript, PHP, Python và Go
  • Ngôn ngữ kịch bản phía máy khách. Javascript, Web hội
  • Quản trị hệ thống. BASH, PERL, Python
  • Giao diện Linux. BASH

Ngôn ngữ lập trình logic

PROLOG, ASP (Lập trình bộ câu trả lời), Datalog và Coq

ngôn ngữ đánh dấu

HTML, XHTML, RTF, TeX, LaTeX, Markdown, YAML, XML

“Tìm hiểu một Ngôn ngữ lập trình hướng đối tượng và một Ngôn ngữ lập trình tập lệnh. ”

Ngôn ngữ có thể học

Go, Lisp, Scheme, OCaml, Haskell, Eiffel, Erlang, Rust, Clojure, Elixir, v.v. , có các tính năng thú vị mà bạn muốn sử dụng trong sản xuất nhưng sẽ không bao giờ

OOP là một phong cách mã hóa. Một số ngôn ngữ được bảo lưu, chẳng hạn như, chúng buộc bạn phải sử dụng một kiểu mã cụ thể. Bản đánh máy không được cố định theo nghĩa đó, bạn có thể sử dụng bản đánh máy để viết mã hướng đối tượng, nhưng bạn cũng có thể viết mã chức năng hoặc mệnh lệnh

Dựa trên sự khác biệt về thời gian chạy (Đặc điểm ngôn ngữ)

Ngôn ngữ gõ động

Python, JavaScript, Ruby, PHP, Erlang, Perl, Lua, Smalltalk, Lisp

Ngôn ngữ gõ tĩnh

C, C++, Java, Typescript, Go, Haskell, Kotlin, Rust, Scala, Swift, OCaml, Delphi, ReasonML,

“JavaScript là ngôn ngữ được gõ động, nhưng TypeScript là ngôn ngữ được gõ tĩnh”

Strong and Weak type languages || Dynamic and Static type languages.

Ngôn ngữ loại mạnh và yếu. Ngôn ngữ kiểu động và tĩnh

Cả Tĩnh và Động (Gõ dần dần)

Phi tiêu, C#, Clojure

looks like we have a situation here. What will you choose? credits — codedamn

có vẻ như chúng ta có một tình huống ở đây. Bạn sẽ chọn cái gì?

Trình biên dịch ngôn ngữ mã nguồn mở

C(gcc), C++(g++), C#(. NET, đã từng bị đóng), Java(JVM), Python(PVM), Go, Kotlin(JVM), Julia, R, Scala, Dart, Swift, Free Pascal Compiler(FPC, sử dụng Lazarus IDE) gần như mọi ngôn ngữ nổi tiếng

Trình biên dịch ngôn ngữ nguồn đóng

Matlab, MSVC++, ABAP, SAS, Delphi, VBScript, Microfocus COBOL, LabVIEW, IDL, PL/SQL

“Một ngôn ngữ lập trình không phải là nguồn mở hay nguồn đóng như vậy. Trình biên dịch và thư viện thời gian chạy của nó có thể là nguồn đóng. ”

Thu gom rác tự động

ML, Haskell, Lisp, Perl, APL, OCaml, Ruby, Julia, Javascript, Bản đánh máy, Smalltalk, Java, C#, Python, Go, Erlang, Elixir, Dart

Thu gom rác thủ công

C, C++, Rust, Delphi, ReasonML, Fortran, Pascal, Zig
Swift và Objective-C có bộ sưu tập rác tùy chọn.

Ngôn ngữ biên dịch

C, C++, Erlang, Haskell, Rust, Go, COBOL, Delphi, Haskell, Julia, Swift, Obj-C, Scheme, Fortran
Các loại — Đúng lúc .

Được biên dịch thành ngôn ngữ máy ảo

VM khác — C#, F#
Ngôn ngữ JVM — Java, Clojure, Apache Groovy, Scala, Kotlin

ngôn ngữ thông dịch

PHP, Ruby, Python, Javascript, Lisp, Lua, Perl,

Ghi chú. Hầu hết các ngôn ngữ lập trình có thể có cả triển khai được biên dịch và giải thích

“Các ngôn ngữ được biên dịch cũng có thể được gõ động. ”

Talk about developer productivity. Source — wikipedia.

bạn nói về năng suất của nhà phát triển. Nguồn — wikipedia

Điều này có nghĩa là trung bình, một (1) dòng python ~ sáu (6) dòng C

Các ngôn ngữ có chỉ số mảng bắt đầu bằng 1 chứ không phải 0

Phổ biến

  • APL, COBOL, Fortran, Julia, Lua, Matlab, R

Tất cả các

  • ALGOL 98, AWK, CFML, FoxPro, Lingo, Lua, Mathicala, PL/I, RPG, Ring, Sass, Smalltalk, Wolfram Language, XPath/XQuery

Dựa trên ứng dụng (Nơi nó được sử dụng)

Đối với phát triển ứng dụng di động

  • Nền tảng gốc — Java hoặc Kotlin (Android Studio), Swift hoặc Objective C (Xcode, cho iOS và macOS)
  • Đa nền tảng (Nền tảng độc lập) — Dart (dành cho Flutter), Javascript (dành cho React Native và Ionic), C# (Xamarin)

Đề cập đặc biệt - Delphi (ứng dụng Android, iOS và máy tính để bàn)

Để phát triển web

  • Giao diện người dùng — Javascript (React, Angular, Vue, preact), Elm, ReasonML
  • Phụ trợ — Javascript (Nút. js), Python (flask, django), Go (gin, gorilla), Ruby (Ruby trên đường ray), Java (Khởi động mùa xuân), C# (. NET framework), PHP
  • DevOps — Đi, Python, Bash

“Bạn có biết rằng React ban đầu được viết bằng OCaml và chỉ sau đó mới được chuyển sang JavaScript để hỗ trợ việc áp dụng không?

  • Elm và ReasonML là các ngôn ngữ chức năng, biên dịch thành js
  • Trước Angular, React và Vue, thế giới đã sử dụng Backbone. js và Ember. js

Để phát triển trò chơi

C++(Unreal engine, 4A engine), C#(Unity, CryEngine), Java(LibGdx, Ardor3D), Javascript(A‑Frame (VR), ImpactJS), LUA(Leadwerks)

Dành cho Phát triển phần mềm/ứng dụng máy tính để bàn (Windows/Mac/Linux)

C# (. NET framework), Delphi, Dart (Flutter), Swift(XCode), C++(Qt), Python (Kivy, Tkinter)

Dành cho nhà phát triển AR/VR/Metaverse

C ++, C #, Java, Javascript (AR. js), Python(VRED), Solidity(Metamask), Rust, Swift(ARKit)

Đối với lập trình hệ thống

Go, C, C++, Rust, Erlang

Dành cho Trí tuệ nhân tạo/Học máy/Học sâu

Python(Tensorflow, Keras), LISP(CUDA SDK), Javascript(Tensorflow. js, bộ não. js), Swift (ML lõi)

Đối với khoa học dữ liệu và phân tích

Python(Scrapy, Pandas), R(ggplot2, dplyr), Julia(Flux, Mocha. jl)

Đối với dữ liệu lớn

Java (Apache Hadoop, Hive, Storm), Scala (Apache Spark, Kafka)

An ninh mạng

Python, Bash, PHP

Người khác

Ngành ô tô — C/C++
Chăm sóc sức khỏe — Python
Tiếp thị — SQL
Khoa học — MATLAB
Embedded System — C/C++
Linux Programming(Kernel) — C, Rust
Cloud and web APIs — Go, Elixir(Phoenix, ecto)
Finance — F#

Trước khi tôi nói với bạn một số đề xuất của mình, trước tiên hãy xem xét NHỮNG ĐIỀU này bằng ngôn ngữ lập trình. -

  1. Loại hệ thống (Tĩnh hay Động?)
  2. Nỗ lực học tập (người mới bắt đầu có thể tiếp cận?)
  3. Nulls (Tại sao tham chiếu null lại xấu?)
  4. Xử lý lỗi (Bắt ngoại lệ là một cách tồi để xử lý lỗi?)
  5. Đồng thời (Bộ xử lý sẽ không nhanh hơn nữa, sử dụng điện toán đa lõi)
    — Rust/Go/Erlang/Elixir
  6. Tính bất biến (đó là dữ liệu không thay đổi)
  7. Hệ sinh thái/Công cụ (thư viện tốt có thể tiết kiệm hàng tháng nỗ lực phát triển)
    — JavaScript và Python
  8. Tốc độ (Ngôn ngữ biên dịch nhanh đến mức nào?)
    NHANH — Go, Rust, Elixir ←. → CHẬM — Scala, Python, C++
  9. Độ tuổi (nói chung, ngôn ngữ mới hơn sẽ tốt hơn ngôn ngữ cũ)
  10. Khả năng bảo trì — khả năng đọc và hiểu mã của người khác (Java > Python > Javascript…. Đi > Rỉ sét)
  11. Điều gì về dấu chân thời gian chạy?
  12. Sự an toàn. Lỗi lập trình có thể rất tốn kém. (Rust > Go…> Java…. > Python > Javascript)
  13. Bạn không nên lo lắng trước về hiệu suất ngôn ngữ — đó là một sự tối ưu hóa quá sớm
  14. Thời gian của lập trình viên rất tốn kém, vì vậy hãy chọn ngôn ngữ sử dụng tốt nhất thời gian của lập trình viên

và bây giờ hãy tự quyết định, bạn có đủ ngữ cảnh

Combos có thể để tìm hiểu. -

  1. Javascript và Java
  2. Python và C++
  3. Đi và C#

hoặc bất kỳ sự kết hợp nào khác của LHS và RHS.
Tôi đã chọn Javascript, C++ và Go cho chính mình.
Đừng quên học SQL hoặc bất kỳ loại ngôn ngữ NoSQL nào. (bất kỳ 1)

Ghi chú. Chọn một ngôn ngữ và dốc toàn lực dựa trên giả định rằng nó sẽ là tương lai của máy tính không gì khác ngoài việc tối ưu hóa quá sớm. Đừng rơi vào cái bẫy này

Mọi người rất bảo vệ và thường phòng thủ khi thảo luận về một số công nghệ, kiến ​​trúc và hầu hết tất cả các Ngôn ngữ lập trình, vì vậy đây là một chủ đề nhạy cảm

Nếu bạn hỏi tôi 1 câu trả lời (hoặc ý kiến),

  • cho di động- rung (phi tiêu)
  • cho phụ trợ - django(python)
  • cho giao diện người dùng - phản ứng (jsx)
  • cho AI/ML — trăn
  • cho doanh nghiệp — nhắm mắt bịt tai và học Java
  • Phỏng vấn DS Algo — trăn
  • dành cho nhà phát triển trò chơi — C++
  • cho phần cứng — C
  • Bản đánh máy qua Javascript

Bạn có biết Go có bài hát ngôn ngữ hay nhất không?

Dựa trên Xu hướng StackOverflow (Có gì hấp dẫn)

Tôi hiểu rồi, xu hướng không phải lúc nào cũng vẽ nên một bức tranh chân thực nhưng ít nhất cũng mang lại một hình ảnh thô

Python, C#, Javascript, Java, PHP

Python, C#, Javascript, Java, PHP

R, Swift, Ruby, Dart, Kotlin, Go, Rust

R, Swift, Ruby, Dart, Kotlin, Go, Rust

Dựa trên Google Xu hướng (Mọi người đang tìm kiếm gì)

không có gì nhiều để xem ở đây

hmm…thú vị

Một lần nữa, những xu hướng này không xác định chính xác thị trường việc làm hoặc xu hướng của ngành. Bạn thậm chí có thể nhận được một công việc viết mã tốt trong COBOL mà bạn hầu như không thấy được sử dụng

hãy nhìn kỹ bức ảnh dưới đây, bạn có thấy nhật thực màu đỏ xung quanh một ngôn ngữ dường như không phổ biến không?

Control/Performance of a language vs Safety

Kiểm soát/Hiệu suất của ngôn ngữ so với An toàn

Nếu nó nổi bật tại sao không Rust (hoặc Go)?

— Rust rất hay, được nhiều người yêu thích, hiện đại nhưng dành riêng cho thị trường ngách. Nó không phải là ngôn ngữ có mục đích chung như Python và Javascript, bạn vẫn có thể kiếm được một công việc tốt nhưng tôi sẽ không khuyến nghị Rust trở thành ngôn ngữ đầu tiên của ai đó hoặc ngôn ngữ họ học với hy vọng nhanh chóng có được công việc tốt. Rust là một ngôn ngữ hệ thống mà việc quản lý bộ nhớ là rất quan trọng

Đây là lý do tại sao ngày càng có nhiều lập trình viên sử dụng các ngôn ngữ hiện đại khác — những người chơi hàng đầu là Julia, Go và Rust.
Julia rất phù hợp với các nhiệm vụ toán học và kỹ thuật,
trong khi Go rất phù hợp với các chương trình mô-đun
và Rust của chúng tôi là hàng đầu .

Ngôn ngữ Turing-đầy đủ. Bạn đã nghe nói về chúng chưa?
→ Ngôn ngữ hoàn thiện Turing là những ngôn ngữ có thể được sử dụng để mô phỏng bất kỳ máy Turing nào. Hầu như tất cả các ngôn ngữ lập trình ngày nay đều là Turing-đầy đủ.

Các ngôn ngữ không hoàn chỉnh Turing — SQL, BlooP, Charity, BNF, Biểu thức chính quy (regex),

Một biểu đồ nữa,

The picture says it all. Source — wikipedia.

Bức tranh nói lên tất cả. Nguồn — wikipedia

và hơn thế nữa xin vui lòng…

Graph shows which all languages are used by top tech companies. Source — wikipedia

Biểu đồ cho thấy tất cả các ngôn ngữ được sử dụng bởi các công ty công nghệ hàng đầu. Nguồn — wikipedia

Hãy nói về tiền lương. (Chúng tôi được trả bao nhiêu)

Mức lương trung bình cũng vậy, không vẽ nên một bức tranh chính xác. Đừng để bị lung lay

←. →

Những xu hướng này có thể gây hiểu lầm, vì vậy đừng căn cứ vào tính ưu việt của một ngôn ngữ dựa trên số tiền mà nhà phát triển ngôn ngữ đó kiếm được trong một năm vì cuộc khảo sát này không đề cập đến việc họ là nhà phát triển cấp cao hay cấp mới hay trung cấp. Quá sai cho một kết luận

Tôi nhầm lẫn bạn phải không? . . (

Hãy để tôi đơn giản hóa nó ở đây cho bạn, một giải pháp phổ quát

→ Trước tiên, hãy tìm hiểu xem bạn thực sự quan tâm đến điều gì (phát triển web, AI/ML, ứng dụng dành cho thiết bị di động và/hoặc máy tính để bàn, cơ sở hạ tầng, tự động hóa, an ninh mạng, nhà phát triển trò chơi, v.v. )

→ Sau đó thu hẹp xuống một thị trường ngách cụ thể, (e. g. phát triển iOS hoặc trong thế giới nhà phát triển web, đó có thể là “xây dựng trang web chuyển đổi cho các doanh nghiệp vừa và nhỏ”. )

→ Vào thời điểm bạn đã chọn chuyên môn của mình, hãy chọn một ngôn ngữ, như tôi đã đề cập ở trên về hầu hết mọi ngôn ngữ

→ Đừng lo lắng quá nhiều về số dư ngân hàng, thứ được trả công xứng đáng là chuyên môn và khả năng giải quyết các vấn đề trong thế giới thực của bạn đối với lĩnh vực cụ thể đó — cho dù đó là các trang web nhỏ dành cho những người bình thường hay các kỹ sư đằng sau Cloudflare hay Google. Bạn càng giỏi, lương và yêu cầu càng cao. Đừng chạy theo xu hướng một cách mù quáng. Đúng

Một chút lịch sử về các ngôn ngữ lập trình phổ biến

Không cần thiết, nhưng thật tốt khi biết bạn vẫn đang sử dụng ngôn ngữ lập trình thời đại nào. Hãy bỏ qua phía trước

1951 — Regional Assembly Language
1957 — FORTRAN (first compiler)
1958 — LISP
1958 — ALGOL 58
1959 — COBOL
1962 - Simula
1964 - IBM Basic Assembly Language
1964 — BASIC
1964 - PL/I (Programming Language One)
1969 — B (forerunner to C)
1970 — Pascal
1972 — C
1972 - Smalltalk
1972 - SPL
1976 - S
1978 — SQL
1980 — C++ (as C with classes, renamed in 1983)
1984 — MATLAB
1985 - Eiffel
1986 — Objective-C
1986 — Erlang
1987 — Perl
1990 — Haskell
1990 — Python
1991 — Visual Basic
1993 — R (influenced by S, 1976)
1995 - Delphi
1995 — Ruby
1995 — Java
1995 — JavaScript
1995 — PHP
2001 — C#
2002 — Scratch
2003 — Scala
2006 — PowerShell
2007 — Clojure
2008 — Nim
2010 — Rust
2011 — Elixir
2012 — JuliaOther new programming languages include Red, Crystal, Elm, Hack, Haxe, Zig, Reason, and Ballerina.

“C là ngôn ngữ gần nhất để mô hình hóa cách thức hoạt động của máy tính, Lisp là ngôn ngữ gần nhất để mô hình hóa cách thức hoạt động của tính toán. ”

Trong khi đó, trở lại Hành tinh Trái đất… khi bạn đang bận rộn với cuộc sống, những gã khổng lồ công nghệ này đã tạo ra một số ngôn ngữ lập trình thú vị

GOOGLE
2009 — Go
2011 — Dart
2011 — Kotlin (developed by JetBrains, supported by Google)
MICROSOFT:
2012 — P
2012 — TypeScript
2017 — Q#
2019 — Bosque
2021 — Microsoft Power Fx
OTHERS:
2014 — Hack — Facebook
2014 — Swift — Apple Inc.

Các gã khổng lồ công nghệ phát triển các ngôn ngữ chủ yếu để giải quyết các vấn đề của riêng họ (chứ không phải vì mục đích từ thiện), một số thậm chí còn sao chép trắng trợn một ngôn ngữ khác vốn đã phổ biến trên thị trường (Microsoft đã sao chép Java để tạo ra C#, ngoài ra, Bosque của Microsoft rất giống với Go của Google)

Ngôn ngữ phát triển chậm vì chúng không thực sự là công nghệ. Ngôn ngữ là ký hiệu

Học vừa đủ và bắt đầu làm gì đó. Bạn sẽ tìm ra ngôn ngữ mình cần khi tiếp tục

Bạn có thể đã nghe mọi người nói rằng chỉ cần thành thạo một ngôn ngữ, đúng nhưng thường chỉ một số ít làm theo lời khuyên này, phần còn lại chúng ta nhảy từ công nghệ buzz này sang công nghệ buzz khác

Thông thạo một ngôn ngữ có nghĩa là biết

  • cách API được xây dựng hoặc bất kỳ trường hợp sử dụng nào khác mà ngôn ngữ được xây dựng riêng cho,
  • cách gửi một loại yêu cầu khác (GET, POST), các tính năng liên quan đến đồng thời và song song,
  • cách quản lý bộ nhớ, cách tối ưu hóa tập hợp trung gian hoặc mã byte cho hiệu suất và những thứ tương tự, lớp, đối tượng, v.v.

Những điều này hầu như không khác nhau giữa các ngôn ngữ lập trình.
E. g — Go và Java rất giống nhau về mặt này.

Theo dõi công nghệ. —

  • Lắp ráp web (WASM)
  • tiên dược
  • Chớp cánh
  • /\/ext. js

Một số câu nói phổ biến trong Thế giới lập trình -

  1. Người phát minh ra C++ STL đã từng nói rằng ông ấy ghét OOP
  2. Java là điều đáng lo ngại nhất xảy ra với điện toán kể từ MS-DOS.
    — Alan Kay, người phát minh ra lập trình hướng đối tượng.
  3. “C++ là một ngôn ngữ kinh khủng… Và giới hạn dự án của bạn ở C có nghĩa là mọi người không làm hỏng mọi thứ với bất kỳ “mô hình đối tượng” ngu ngốc nào c&@p. ”
    — Linus Torvalds, người tạo ra Linux.
  4. “Tôi đã phát minh ra thuật ngữ Hướng đối tượng và tôi có thể nói với bạn rằng tôi không nghĩ đến C++. ”
    — Alan Kay, người phát minh ra lập trình hướng đối tượng.
  5. “Với các ngôn ngữ lập trình được tạo ra từ OOP, phần mềm máy tính trở nên dài dòng hơn, khó đọc hơn, ít mô tả hơn, đồng thời khó sửa đổi và bảo trì hơn. ”
    — Richard Mansfield
  6. “Tôi nghĩ rằng các chương trình hướng đối tượng lớn phải vật lộn với độ phức tạp ngày càng tăng khi bạn xây dựng biểu đồ đối tượng lớn này gồm các đối tượng có thể thay đổi. Bạn biết đấy, cố gắng hiểu và ghi nhớ điều gì sẽ xảy ra khi bạn gọi một phương thức và tác dụng phụ sẽ là gì. ”
    — Rich Hickey, người tạo ra Clojure.
  7. “Tôi xin lỗi vì từ lâu tôi đã đặt ra thuật ngữ “đối tượng” cho chủ đề này vì nó khiến nhiều người tập trung vào ý tưởng nhỏ hơn. Ý tưởng lớn là nhắn tin. ”
    — Alan Kay, người phát minh ra OOP
  8. “Tôi nghĩ rằng việc thiếu khả năng sử dụng lại xuất phát từ các ngôn ngữ hướng đối tượng, không phải trong các ngôn ngữ chức năng. Bởi vì vấn đề với các ngôn ngữ hướng đối tượng là chúng có tất cả môi trường ngầm mà chúng mang theo bên mình. Bạn muốn có một quả chuối nhưng thứ bạn nhận được là một con khỉ đột đang ôm quả chuối và toàn bộ khu rừng. ”
    — Joe Armstrong, người tạo ra Erlang
  9. “Tôi đã học được một bài học đau đớn, rằng đối với các chương trình nhỏ, việc gõ động là rất tốt. Đối với các chương trình lớn, bạn phải có cách tiếp cận kỷ luật hơn. Và nó sẽ hữu ích nếu ngôn ngữ thực sự mang lại cho bạn kỷ luật đó, thay vì nói với bạn, 'Chà, bạn có thể làm bất cứ điều gì bạn muốn. ”
    — Guido van Rossum (người tạo ra Python)
  10. “Nếu bạn nhìn vào lịch sử của ngôn ngữ lập trình, rất nhiều ngôn ngữ tốt nhất là ngôn ngữ được thiết kế cho chính tác giả của chúng sử dụng và rất nhiều ngôn ngữ tồi tệ nhất được thiết kế cho người khác sử dụng. ”
    — Paul Graham
  11. James Gosling (Java) vài năm trước thậm chí còn nói rằng nếu phải làm lại từ đầu, anh ấy sẽ không sử dụng các giao diện.
  12. React không được tạo cho TypeScript. React ban đầu được tạo ra cho một ngôn ngữ chức năng.
    Có xung đột giữa các mô hình lập trình. -
    TypeScript ưu tiên OOP, trong khi React ưu tiên chức năng.
    React mong đợi các props của nó (i. e. đối số chức năng) là bất biến, trong khi TypeScript không có hỗ trợ tích hợp thích hợp cho cấu trúc dữ liệu bất biến.
  13. Trong C++, chúng tôi không nói “Thiếu dấu hoa thị” mà chúng tôi nói
    “lỗi C2664. 'khoảng trống tiêu chuẩn. véc tơ
    và tôi nghĩ điều đó thật tuyệt.

Đây là thứ dành cho những người yêu thích PHP

Và cuối cùng, một câu hỏi dành cho bạn

“Các công ty công nghệ Mỹ muốn chính phủ tạo điều kiện cho việc nhập cư dễ dàng hơn vì họ nói rằng họ không thể tìm đủ lập trình viên ở Mỹ.

Những người chống nhập cư nói rằng thay vì để người nước ngoài đảm nhận những công việc này, chúng ta nên đào tạo nhiều người Mỹ hơn để trở thành lập trình viên. Ai đúng?”

Cả hai?

Nếu bạn ổn định về tài chính, bạn có thể ủng hộ tôi tại đây, điều đó thật tuyệt.
(chỉ và chỉ khi bài viết này cung cấp giá trị cho bạn theo một cách nào đó) https. //www. muameacoffee. com/zriyansh

“Mua cà phê cho tôi” là một nền tảng toàn cầu nơi những người như bạn hỗ trợ tài chính cho những người sáng tạo như chúng tôi và các nghệ sĩ

Tôi hy vọng bạn đã hiểu rõ ràng từ bài viết này. Tôi đã lấy thông tin phản hồi từ các nhà phê bình có giá trị trong việc cải thiện bài viết này. Tôi yêu và cảm ơn tất cả

Tôi muốn nghe suy nghĩ của bạn về điều này (tôi đã bỏ lỡ điều gì?)

Nếu bạn là một lập trình viên mới làm quen và muốn xây dựng một Bản lý lịch kỹ thuật vững chắc, bài viết này sẽ cực kỳ hữu ích

là C trong

Vì vậy, các ngôn ngữ lập trình có nhu cầu cao nhất vào năm 2022 là Python, C, Java, JavaScript, Go, Ruby, C# .

Ngôn ngữ nào phải học vào năm 2022?

Theo thống kê mới nhất, Python là ngôn ngữ mã hóa chính cho khoảng 80% nhà phát triển. Sự hiện diện của các thư viện rộng lớn trong Python tạo điều kiện thuận lợi cho các quy trình trí tuệ nhân tạo, khoa học dữ liệu và máy học. Hiện tại Python đang là xu hướng và có thể coi là vua của các ngôn ngữ lập trình

Ngôn ngữ C có tương lai không?

Sau này, ngôn ngữ lập trình C được sử dụng để phát triển Microsoft Windows và nhiều ứng dụng Android. Trong tương lai, C có thể được sử dụng để tạo ra các hệ điều hành tốt hơn cho các ứng dụng thân thiện với người dùng hơn .

Việc sử dụng ngôn ngữ C vào năm 2022 là gì?

Ngôn ngữ C là ngôn ngữ lập trình đa năng, cấp cao. Nó cung cấp một giao diện đơn giản, nhất quán, mạnh mẽ cho các hệ thống lập trình. Đó là lý do tại sao ngôn ngữ C được sử dụng rộng rãi để phát triển phần mềm hệ thống, phần mềm ứng dụng và hệ thống nhúng .