Hướng dẫn is excel a programming language reddit - excel là một ngôn ngữ lập trình reddit

Excel dưới dạng mã

Excel là một trong những sản phẩm phần mềm được sử dụng rộng rãi nhất trên toàn thế giới. Bộ xử lý văn bản có nhiều người dùng để chắc chắn, nhưng, Excel không giống như một trình xử lý văn bản. Nó trong thực tế là một ngôn ngữ lập trình và cơ sở dữ liệu kết hợp.

Không tính người dùng Excel, chỉ có khoảng 30 triệu lập trình viên. Ước tính đặt số lượng người dùng Excel từ 500m đến hơn 1 tỷ!

Do đó, cho đến nay, ngôn ngữ lập trình được sử dụng nhiều nhất trên hành tinh. Nó dễ dàng hơn 20 lần so với ứng cử viên tiếp theo.

Excels đang điều hành cốt lõi của một số lượng lớn các chức năng kinh doanh từ ngân sách, quản lý sản phẩm, tài khoản khách hàng và nhiều thứ khác ngoài việc.

Giá trị của Excel là nó đang trình bày dữ liệu, với một tập hợp các công thức cho phép bạn tiếp tục cập nhật dữ liệu. Dữ liệu được suy luận này cung cấp các tổng và tính toán, đôi khi đơn giản, nhưng đôi khi phức tạp một cách tinh xảo.

Và thông qua toàn bộ phạm vi phức tạp này, với nửa tỷ người dùng, hầu như không ai đối xử với Excel nghiêm túc như ngôn ngữ lập trình.

Làm sao có thể? Chúng tôi có một ngôn ngữ lập trình về cơ bản đóng vai trò là cơ sở dữ liệu khai báo, nhưng chúng tôi không làm bài kiểm tra đơn vị, chúng tôi không theo dõi các thay đổi, chúng tôi hợp tác với Excel bằng cách gửi nó cho các đồng nghiệp của chúng tôi Chúng ta nên thực hiện bất kỳ lớp lót nghiêm túc về những gì trong sự việc.

Đây là một tình huống thực sự điên rồ.

Các lập trình viên và người quản lý cơ sở dữ liệu thường sẽ xem xét tình huống này trong khủng bố và nói với Excel-Jockeys mà họ cần để thoát khỏi Excel ASAP.

Excel-Jockeys có thể nhìn vào các mọt sách cơ sở dữ liệu và nó là những người đam mê và nghĩ rằng họ phải rời khỏi rocker của họ. Hoặc có thể họ thậm chí cảm thấy xấu hổ nhưng nhận ra rằng không có cách nào họ sẽ có thể thực hiện công việc của họ đúng cách bằng cách chuyển sang sử dụng Oracle & Python.

Tất nhiên bất cứ ai đã sử dụng Excel trong sự tức giận nhận ra lý do tại sao nó rất xuất sắc. Cho tôi xem một ràng buộc tuyên bố khác dựa trên ngôn ngữ suy luận dựa trên dữ liệu mà tôi có thể dạy cho bà tôi và tôi sẽ ăn mũ của tôi!

Mọi người từ chối ngừng sử dụng Excel vì nó trao quyền cho họ và đơn giản là họ không muốn bị mất quyền.

Và đúng là họ là. Vấn đề không phải là Excel. Vấn đề là chúng tôi đang đối xử với Excel giống như một trình xử lý văn bản của nó, và không phải là: một ngôn ngữ lập trình.

Các giác ngộ lập trình

Trong thời đại tối của lập trình, bạn đã có một cây nguồn và bạn đã chỉnh sửa các tệp trong một số trình soạn thảo văn bản khủng khiếp và sau đó chạy một trình biên dịch. Một thời gian sau, bạn có một nhị phân mà bạn chạy và xem nó có bị sập không. Nếu mọi thứ diễn ra tốt đẹp, bạn có thể chia sẻ tệp trên máy chủ tệp với đồng nghiệp của bạn. Họ cũng đã thay đổi nó để bạn phải tìm ra cách không phá vỡ mọi thứ và dán các thay đổi của họ trở lại vào cây nguồn của bạn (hoặc ngược lại).

Đây rõ ràng là một thảm họa, dẫn đến nỗi đau lớn trong việc khiến mã nguồn hợp nhất để xếp hàng mà không bị thất bại.

Nhập kiểm soát sửa đổi.

Mọi người nhận ra rằng cần phải có một hệ thống kiểm tra các tệp vào và ra sao cho những thay đổi có thể được so sánh và có thể tránh được sự va chạm.

Và chưa bao giờ người phải rời khỏi lập trình trong biên tập viên yêu thích của họ. Không ai bảo họ lưu trữ mã của họ trong Oracle. Không ai nói họ nên chia sẻ mã nguồn của họ trong Google Docs.

Điều này cho phép những cải tiến lớn trong hợp tác. Chỉnh sửa không sợ hãi của các tập tin đã tạo ra một môi trường phát triển cởi mở hơn nhiều. Bạn có thể đi trước và thực hiện thay đổi mà bạn biết phải cắt giảm một nửa mã vì bạn có thể tìm ra cách hợp nhất khi thời gian đến. Số lượng các lập trình viên bạn có thể làm việc trên một cơ sở mã với chi phí giao tiếp thấp hơn nhiều tăng lên rất nhiều.

Hệ thống kiểm soát sửa đổi cho phép một cách tiếp cận hoàn toàn mới để phát triển phần mềm: Tích hợp / triển khai liên tục liên tục (CI / CD). CI/CD có nghĩa là khi mã được kiểm tra, một loạt các móc chạy các bài kiểm tra đơn vị có thể được chạy. Linters có thể được chạy qua phiên bản đã kiểm tra. Bạn thậm chí có thể có các thử nghiệm tích hợp phức tạp chạy mà đã kiểm tra xem phần mềm vẫn hoạt động đúng với các quy trình khác.

Tất cả các kiểm tra này có nghĩa là sức khỏe của mã có thể được biết đến đến phút. Vẫn có thể giới thiệu các thay đổi phá vỡ bằng cách làm rối một cách thông minh, nhưng một lớp lỗi lớn đã bị xóa.

Làm thế nào Excel có thể tham gia Phục hưng

Thật không may, không có điều này áp dụng cho Excel vì Excel không hoạt động tốt với điều khiển sửa đổi.

Why?

Bởi vì Excel không phải là một tập tin nguồn. Nó là một cơ sở dữ liệu kết hợp với mã. Git không được xây dựng cho điều này - nó biết về các dòng trong một tệp và đó là nó. Chúc may mắn khi cố gắng sử dụng Git để giải quyết xung đột hợp nhất - nó sẽ đơn giản là lấy tệp của bạn.

Con đường dẫn đến giác ngộ là một hệ thống kiểm soát sửa đổi tinh vi hơn - các hệ thống có thể hiểu Excel.

May mắn thay, một điều như vậy thực sự tồn tại, phiên bản.

Sự hợp tác

Lợi ích đầu tiên cho cách tiếp cận mới này để đưa Excel vào kiểm soát phiên bản sẽ cho phép cộng tác. Chắc chắn bạn có thể gửi các tệp Excel cho mọi người, nhưng đây là tương đương với tôi gửi email cho đồng nghiệp của tôi cây nguồn của tôi mỗi khi tôi muốn thay đổi.

Và nếu tôi chia sẻ nó với hai người cùng một lúc, tôi chắc chắn sẽ kết thúc với hai thay đổi khác nhau. Và bây giờ tôi phải tìm ra cách kết hợp cả hai. Tôi đã biến mình thành một hệ thống kiểm soát sửa đổi dễ bị lỗi (và có lẽ rất tốn kém). Và nếu tôi phạm sai lầm, tôi sẽ đào qua e-mail của mình để tìm kiếm người tôi đã gửi cho người đầu tiên để hợp nhất các thay đổi chính xác trở lại.

Trong số các bẫy mà chúng ta đang chiến thắng bất cứ khi nào có sự hợp tác - thậm chí giữa hai người. Chúng ta có thể hợp nhất với ít rắc rối hơn, và bất kỳ sai lầm nào chỉ là một sự cuộn lại.

Và không có lúc nào chúng ta phải rời khỏi Excel.

CI/CD cho Excel

Bây giờ chúng tôi có một hệ thống kiểm soát sửa đổi cho Excel, chúng tôi có thể bắt đầu suy nghĩ nghiêm túc về CI/CD và ý nghĩa của việc thực sự coi Excel là mã trong môi trường phát triển hiện đại.

Đầu tiên là Lining. Lining chỉ có nghĩa là viết các truy vấn hoặc tập lệnh có thể tìm kiếm các lỗi cú pháp rõ ràng. Giá trị của điều này không thể được cường điệu hóa. Số lượng lỗi cú pháp ngu ngốc và rõ ràng (như sai chính tả) mà ngay cả các lập trình viên cực kỳ thông minh cũng tạo ra rất lớn. Và giá trị của việc nhận thấy rằng thậm chí còn lớn hơn.

Lớp lót Excel sẽ trông như thế nào? Nó có thể đơn giản như nói:

Tất cả các giá trị tiền tệ trong tệp này phải tính bằng đô la

Hoặc có thể nó nói:

Các tế bào trong cột C phải là số.

Nhưng nó có thể là các tập tin cụ thể sẽ yêu cầu lót tùy chỉnh và phức tạp. Điều đó tốt, điều đó cũng xảy ra với mã! Bạn sẽ có thể chỉ đơn giản là ở nó như một móc thử nghiệm trên cam kết. Một khi bạn có được đèn xanh, bạn sẽ biết rằng nó an toàn để hợp nhất.

Trong các tập đoàn hoặc tổ chức lớn thường là trường hợp bạn thậm chí muốn các khía cạnh của bố cục, số lượng tờ, v.v. để duy trì đồng nhất ngay cả sau khi cập nhật. Lining có thể cho phép điều này xảy ra.

Tất nhiên Lining không bắt được các lỗi ngữ nghĩa phức tạp hơn. Vì vậy, chúng tôi thường muốn viết ra những gì chúng tôi mong đợi một số công thức sẽ làm. Và để kiểm tra rằng chúng ta nên có một trường hợp thử nghiệm cho công thức của chúng ta. Đây là thử nghiệm đơn vị.

Kiểm tra đơn vị Excel có thể có nghĩa là đảm bảo các công thức nhất định đáp ứng một tập hợp các xác nhận bên ngoài đảm bảo rằng chúng vẫn "làm điều đúng".

Giá trị của việc có các xác minh bên ngoài này có vẻ không rõ ràng khi bạn tính toán tổng số, nhưng nếu tính toán rất phức tạp, bạn có thể muốn có một vài trường hợp thử nghiệm (có thể không nhất thiết phải nằm trong sổ làm việc của bạn) để kiểm tra độ tỉnh.

Và giá trị của các tính toán càng quan trọng, càng có nhiều sự tỉnh táo.

Sự kết luận

Excel là một ngôn ngữ lập trình. Đã đến lúc chúng ta bắt đầu coi nó như một. Người dùng Excel muốn tiếp tục sử dụng sức mạnh của ngôn ngữ yêu thích của họ.

Họ không cần phải thay đổi điều đó.

Điều cần thay đổi là ý tưởng rằng họ không phải là lập trình viên, vì vậy họ có thể tham gia với chúng tôi trong việc sử dụng các thực tiễn phần mềm hiện đại.

Excel có được coi là một ngôn ngữ lập trình không?

Đây cũng là ngôn ngữ lập trình được sử dụng rộng rãi nhất thế giới. Các công thức Excel được viết theo thứ tự nhiều người dùng lớn hơn tất cả các lập trình viên C, C ++, C#, Java và Python trên thế giới cộng lại. Mặc dù thành công, được coi là một ngôn ngữ lập trình Excel có những điểm yếu cơ bản.. Excel formulas are written by an order of magnitude more users than all the C, C++, C#, Java, and Python programmers in the world combined. Despite its success, considered as a programming language Excel has fundamental weaknesses.

Excel có dễ hơn mã hóa không?

Do giao diện người dùng đồ họa của nó, mục nhập dữ liệu thủ công thường dễ dàng hơn ở Excel và nếu bạn chỉ muốn quét qua bảng tính nhanh chóng, nhìn qua tệp Excel có thể nhanh hơn và dễ dàng hơn so với thực hiện mã đó.manual data entry is often easier in Excel, and if you just want to scan through a spreadsheet quickly, looking through an Excel file can be quicker and easier than doing that with code.

Những loại ngôn ngữ lập trình là excel?

Microsoft Excel là một bảng tính được phát triển bởi Microsoft cho Windows, MacOS, Android và iOS.Nó có tính năng tính toán hoặc khả năng tính toán, công cụ vẽ đồ thị, bảng xoay vòng và ngôn ngữ lập trình macro được gọi là Visual Basic cho các ứng dụng (VBA).Excel tạo thành một phần của bộ phần mềm Microsoft Office.Visual Basic for Applications (VBA). Excel forms part of the Microsoft Office suite of software.

Sử dụng Excel tương tự như mã hóa?

Nếu bạn thích xây dựng các công thức phức tạp và bảng tính phức tạp, thì có.Công thức, và bảng tính với các công thức, thực sự là một loại lập trình rất chuyên dụng.Một bước tiếp theo tự nhiên sẽ là lập trình bảng tính, chẳng hạn như với Excel VBA.Đó là rất giống như lập trình chung, mặc dù vẫn chuyên môn.. Formulas, and spreadsheets with formulas, are really a very specialized kind of programming. A natural next step would be spreadsheet programming, such as with Excel VBA. That is a lot more like general programming, though still specialized.