1C - Thiện và ác. Sắp xếp các điểm trong holivar khoảng 1C

1C - Thiện và ác. Sắp xếp các điểm trong holivar khoảng 1C

Bạn bè và đồng nghiệp, gần đây thường xuyên có nhiều bài báo về Habré với thái độ căm ghét 1C như một nền tảng phát triển và các bài phát biểu của những người bảo vệ nó. Những bài báo này xác định một vấn đề nghiêm trọng: thông thường, những người chỉ trích 1C chỉ trích nó với quan điểm “không làm chủ được nó”, mắng những vấn đề trên thực tế dễ giải quyết, và ngược lại, không đề cập đến những vấn đề thực sự quan trọng, đáng giá. thảo luận và không được nhà cung cấp giải quyết. Tôi tin rằng việc tiến hành đánh giá tỉnh táo và cân bằng về nền tảng 1C là điều hợp lý. Nó có thể làm gì, không thể làm gì, nên làm gì nhưng không làm, và, nói tóm lại, nó làm gì với một tiếng nổ, và các nhà phát triển của bạn tại %technology_name% sẽ làm cả trăm năm, vứt bỏ nó đi nhiều hơn một ngân sách hàng năm.

Do đó, bạn, với tư cách là người quản lý hoặc kiến ​​​​trúc sư, sẽ có thể hiểu rõ ràng về nhiệm vụ nào sẽ có lợi cho bạn khi sử dụng 1C và nơi nào cần đốt cháy nó bằng bàn ủi nóng. Với tư cách là một nhà phát triển trong thế giới “không phải 1C”, bạn sẽ có thể thấy điều gì trong 1C đang gây ồn ào. Và với tư cách là nhà phát triển 1C, bạn sẽ có thể so sánh hệ thống của mình với hệ sinh thái của các ngôn ngữ khác và hiểu vị trí của bạn trong hệ thống tọa độ phát triển phần mềm.

Dưới phần cắt giảm có rất nhiều cuộc tấn công dày đặc vào 1C, vào những người chỉ trích 1C, vào Java, .NET và nói chung... Người hâm mộ đã đầy, xin chào mừng!

Về bản thân

Tôi đã quen thuộc với chủ đề trò chuyện từ khoảng năm 2004. Tôi đã lập trình có lẽ từ năm 6 tuổi, ngay từ khi tôi có một cuốn sách về Giáo sư Fortran với truyện tranh về một con mèo, một con chim sẻ và một con sâu bướm. Tôi đã phân tích các chương trình mà con mèo viết từ những bức tranh trong cuốn sách và tìm ra chức năng của chúng. Và vâng, lúc đó tôi không có máy tính thật, nhưng có một hình vẽ trên trang sách và tôi thành thật nhấn các nút giấy, nhập các lệnh mà tôi đã theo dõi con mèo X.

Sau đó là BK0011 và BASIC ở trường, C++ và trình biên dịch ở trường đại học, rồi 1C, rồi rất nhiều thứ khác mà tôi lười nhớ. Trong 15 năm qua, tôi chủ yếu tham gia vào 1C, không chỉ về mặt mã hóa mà còn về 1C nói chung. Đặt nhiệm vụ, quản trị và devops ở đây. Trong 5 năm qua, tôi đã tham gia vào các hoạt động hữu ích cho xã hội về phát triển các công cụ tự động hóa và phát triển cho những người dùng 1C khác, viết bài và sách.

Hãy quyết định chủ đề thảo luận

Trước tiên, hãy xác định những gì chúng ta sẽ nói đến, vì các chữ cái “1C” có thể có rất nhiều ý nghĩa. Trong trường hợp này, với các chữ cái “1C”, chúng tôi chỉ muốn nói đến khung phát triển “1C: Enterprise” của phiên bản hiện đại thứ tám. Chúng tôi sẽ không nói nhiều về nhà sản xuất và các chính sách của họ (nhưng chúng tôi sẽ phải nói một chút). Chúng tôi sẽ không thảo luận về các ứng dụng cụ thể được viết bằng khung này. Công nghệ là riêng biệt, ứng dụng hay còn gọi là cấu hình cũng riêng biệt.

Kiến trúc cấp cao 1C: Doanh nghiệp

Không phải vô cớ mà tôi nhắc đến từ “framework”. Từ quan điểm của nhà phát triển, nền tảng 1C chính xác là một khuôn khổ. Và bạn cần phải đối xử với nó chính xác như một khuôn khổ. Hãy coi nó như Spring hoặc ASP.NET, được thực thi bởi một số thời gian chạy (tương ứng là JVM hoặc CLR). Điều đó xảy ra là trong thế giới lập trình thông thường (“không phải 1C”), việc phân chia thành các khung, máy ảo và các ứng dụng cụ thể là điều đương nhiên, do thực tế là các thành phần này thường được phát triển bởi các nhà sản xuất khác nhau. Trong thế giới 1C, thông lệ không phân biệt rõ ràng khung phát triển và bản thân thời gian chạy; ngoài ra, các ứng dụng cụ thể được viết bằng khung này cũng chủ yếu do chính 1C phát triển. Kết quả là, một số nhầm lẫn phát sinh. Vì vậy, trong khuôn khổ bài viết, chúng ta sẽ phải xem xét 1C từ nhiều phía cùng một lúc và phân loại nó theo nhiều trục tọa độ. Và trên mỗi trục tọa độ, chúng ta sẽ đặt một xẻng chất màu nâu và xem xét các tính năng, ưu điểm và nhược điểm của giải pháp hiện có.

Quan điểm về 1C

1C cho người mua

Người mua mua một hệ thống tự động hóa mà anh ta có thể nhanh chóng giải quyết các vấn đề về tự động hóa hoạt động kinh doanh của chính mình. Một doanh nghiệp có thể là một gian hàng nhỏ hoặc có thể là một công ty cổ phần lớn. Rõ ràng là nhu cầu của các doanh nghiệp này là khác nhau, nhưng cả hai đều được hỗ trợ bởi một cơ sở mã nền tảng duy nhất.

Đối với người mua 1C, đây là thời gian tiếp thị nhanh chóng. Nhanh. Nhanh hơn Java, C# hoặc JS. Trung bình. Xung quanh bệnh viện. Rõ ràng là một trang web danh thiếp sử dụng React sẽ hoạt động tốt hơn, nhưng phần phụ trợ của hệ thống WMS sẽ khởi chạy nhanh hơn trên 1C.

1C như một công cụ

Mỗi giải pháp công nghệ đều có giới hạn về khả năng ứng dụng. 1C không phải là ngôn ngữ có mục đích chung; nó không tồn tại tách biệt khỏi khuôn khổ của nó. Nên sử dụng 1C khi bạn cần:

  • ứng dụng máy chủ
  • ứng dụng nơi tài chính xuất hiện
  • với giao diện người dùng, ORM, Báo cáo, XML/JSON/COM/PDF/YourDataTransferingFormat được tạo sẵn
  • với sự hỗ trợ cho các quy trình và công việc nền
  • với bảo mật dựa trên vai trò
  • với logic kinh doanh có thể viết được
  • với khả năng nhanh chóng tạo ra nguyên mẫu và thời gian đưa sản phẩm ra thị trường thấp

Bạn không cần 1C nếu bạn muốn:

  • máy học
  • tính toán GPU
  • đô họa may tinh
  • Tính toán toán học
  • hệ thống CAD
  • xử lý tín hiệu (âm thanh, video)
  • cuộc gọi http tải cao với hàng trăm nghìn rps

1C là một công ty sản xuất

Cần phải hiểu hoạt động kinh doanh của 1C với tư cách là một nhà sản xuất phần mềm là gì. Công ty 1C bán giải pháp cho các vấn đề kinh doanh thông qua tự động hóa. Các doanh nghiệp khác nhau, lớn hay nhỏ, nhưng đó là những gì cô ấy bán. Phương tiện để đạt được mục tiêu này là các ứng dụng kinh doanh. Đối với lĩnh vực kế toán, kế toán tiền lương,… Để viết các ứng dụng này, công ty sử dụng nền tảng phát triển ứng dụng kinh doanh của riêng mình. Được thiết kế đặc biệt cho các nhiệm vụ chung của các ứng dụng kinh doanh tương tự:

  • kế toán tài chính
  • dễ dàng tùy chỉnh logic kinh doanh
  • khả năng tích hợp rộng rãi trong bối cảnh CNTT không đồng nhất

Với tư cách là một nhà sản xuất, 1C tin rằng đây là chiến lược cho phép bạn làm việc với các đối tác và khách hàng theo chế độ đôi bên cùng có lợi. Bạn có thể tranh luận với điều này, nhưng đây đại khái là cách công ty tự quảng bá: các giải pháp làm sẵn cho các vấn đề kinh doanh có thể được các đối tác nhanh chóng tùy chỉnh và tích hợp vào bất kỳ bối cảnh CNTT nào.

Tất cả các tuyên bố hoặc mong muốn về 1C làm khuôn khổ phải được xem xét độc quyền thông qua lăng kính này. Các nhà phát triển cho biết: “Chúng tôi muốn OOP ở 1C”. 1C cho biết: “Chúng tôi sẽ tốn bao nhiêu tiền để hỗ trợ OOP trên nền tảng, điều này có giúp chúng tôi tăng doanh số bán hộp không?” Mở ra “lăng kính” bán giải pháp cho các vấn đề kinh doanh:

- Này doanh nhân, bạn có muốn OOP trong 1C của mình không?
- Điều này có giúp tôi giải quyết được vấn đề của mình không?
- Ai biết...
- Thế thì không cần đâu.

Cách tiếp cận này có thể tốt hoặc xấu tùy thuộc vào người nhìn vào nó, nhưng nó vốn là như vậy. Nói về thực tế là không có tính năng X trong 1C, bạn cần hiểu rằng nó không có lý do, mà là trong bối cảnh lựa chọn “chi phí thực hiện so với số lợi nhuận”.

phân loại công nghệ

“Trên thực tế, Odinesniks cố gắng hết sức để sử dụng những mẫu tốt nhất, được lựa chọn cẩn thận bởi các nhà phương pháp và nhà phát triển có tâm của nền tảng 1C.
Khi bạn viết mã ngu ngốc của mình cho một biểu mẫu được quản lý đơn giản, trên thực tế, bạn đang sử dụng Bộ điều khiển xem mô hình с ràng buộc dữ liệu hai chiều в công cụ ứng dụng dữ liệu ba lớp, có hương vị ánh xạ quan hệ đối tượng cấp cao trên cơ sở mô tả siêu dữ liệu khai báocó cái riêng của nó ngôn ngữ truy vấn độc lập với nền tảng, C giao diện người dùng dựa trên dữ liệu khai báo, tuần tự hóa minh bạch hoàn chỉnh và ngôn ngữ chương trình hướng miền.

Điểm khác biệt giữa các nhà phát triển 1C với các đồng nghiệp phương Tây của họ là ở PR. Họ thích đặt tên tuổi lớn cho bất kỳ điều nhảm nhí nào và chạy lung tung với nó như một cái túi bẩn.”
A. Orefkov

Nền tảng 1C có kiến ​​trúc 3 tầng cổ điển, ở trung tâm là máy chủ ứng dụng (hoặc mô phỏng của nó với số tiền nhỏ dành cho các chủ cửa hàng nhỏ). MS SQL hoặc Postgres được sử dụng làm DBMS. Ngoài ra còn có hỗ trợ cho Oracle và IBM DB2, nhưng điều này khá bí ẩn; không ai biết điều gì sẽ xảy ra nếu bạn triển khai 1C trên các cơ sở dữ liệu này ở mức tải trung bình và cao. Tôi tin rằng bản thân 1C cũng không biết điều này.

Phần máy khách là máy khách tối thiểu được cài đặt trên máy của người dùng hoặc máy khách web. Đặc điểm chính là lập trình viên không viết 2 mã khác nhau, họ viết một ứng dụng, bằng một ngôn ngữ và bạn có thể hiển thị nó trên trình duyệt nếu có mong muốn hoặc nhu cầu. Ai ở đó muốn có một ngăn xếp đầy đủ thực sự và một ngôn ngữ duy nhất cho mặt trước và phần phụ trợ, node.js? Họ không bao giờ có thể làm được điều tương tự cho đến cuối cùng. Có một ngăn xếp đầy đủ thực sự, nhưng bạn sẽ phải viết nó bằng 1C. Sự trớ trêu của số phận, những điều như vậy :)

Giải pháp SaaS đám mây 1C:Fresh cũng hoạt động ở chế độ trình duyệt, trong đó bạn không thể mua 1C mà phải thuê một cơ sở dữ liệu nhỏ và theo dõi doanh số bán Shawarma ở đó. Chỉ trong trình duyệt, không cần cài đặt hay cấu hình bất cứ thứ gì.

Ngoài ra, còn có một ứng dụng khách cũ, trong 1C được gọi là “ứng dụng thông thường”. Di sản là di sản, chào mừng bạn đến với thế giới ứng dụng vào năm 2002, nhưng chúng ta vẫn đang nói về tình trạng hiện tại của hệ sinh thái.

Phần máy chủ 1C hỗ trợ phân cụm và chia tỷ lệ bằng cách thêm các máy mới vào cụm. Khá nhiều bản đã bị hỏng ở đây và sẽ có một phần riêng trong bài viết về việc này. Nói tóm lại, điều này không hoàn toàn giống với việc thêm một vài phiên bản giống hệt nhau đằng sau HAProxy.

Khung phát triển ứng dụng sử dụng ngôn ngữ lập trình riêng, gần giống với VB6 cải tiến một chút được dịch sang tiếng Nga. Đối với những người ghét mọi thứ tiếng Nga, những người không tin rằng “nếu” được dịch là “nếu”, tùy chọn cú pháp thứ hai được đưa ra. Những thứ kia. Nếu muốn, bạn có thể viết nó bằng 1C sao cho không thể phân biệt được với VB.

1C - Thiện và ác. Sắp xếp các điểm trong holivar khoảng 1C

Chính ngôn ngữ lập trình này là lý do chính khiến biệt danh 1C căm ghét nền tảng của họ. Hãy đối mặt với nó, không phải không có lý do. Ngôn ngữ được hình thành đơn giản nhất có thể, được thiết kế để đáp ứng câu thần chú “NHÀ PHÁT TRIỂN, NHÀ PHÁT TRIỂN” trên quy mô ít nhất là ở CIS. Theo tôi, bản chất thương mại của giải pháp như vậy có thể thấy rõ: nhiều nhà phát triển hơn, độ bao phủ thị trường lớn hơn. Điều này đã trở thành sự thật, theo nhiều ước tính khác nhau, từ 45% đến 95%. Tôi sẽ nói ngay rằng viết bằng ngôn ngữ mà bạn nghĩ thực sự dễ dàng hơn. Và tôi biết khá nhiều ngôn ngữ lập trình.

Hãy bắt đầu với ngôn ngữ.

Ngôn ngữ lập trình 1C

Đồng thời điểm mạnh và điểm yếu của hệ thống. Cung cấp khả năng nhập và đọc dễ dàng. Mặt khác, nó đã không được cập nhật kể từ khi phát hành phiên bản 8 vào năm 2002 và đã lỗi thời về mặt đạo đức. Ai đó sẽ nói “nhược điểm chính là không có OOP” và họ sẽ sai. Thứ nhất, PLO không chỉ thích Nuraliev mà còn cả Torvalds. Và thứ hai, OOP vẫn tồn tại.

Theo quan điểm của nhà phát triển, anh ta có sẵn một khung công tác với các lớp cơ sở được hiển thị trên DBMS. Nhà phát triển có thể lấy lớp cơ sở “Thư mục” và kế thừa thư mục “Khách hàng” từ nó. Nó có thể thêm các trường lớp mới vào nó, ví dụ: INN và Địa chỉ, đồng thời, nếu cần, nó có thể ghi đè (ghi đè) các phương thức của lớp cơ sở, ví dụ: phương thức OnWrite/AtRecord.

Khung này được thiết kế theo cách hiếm khi cần đến sự kế thừa sâu hơn và theo tôi, hạn chế trong OOP là có ý nghĩa. 1C tập trung vào Phát triển theo hướng tên miền và trước hết khiến bạn phải suy nghĩ về lĩnh vực chủ đề của giải pháp đang được phát triển và điều này thật tốt. Không những không có sự cám dỗ mà còn không cần phải viết 10 DTO và ViewModels khác nhau chỉ để hiển thị một số dữ liệu từ miền ở đâu đó. Nhà phát triển 1C luôn hoạt động với một thực thể, không làm lộn xộn bối cảnh nhận thức với hàng tá lớp có tên giống nhau, đại diện cho cùng một thực thể, nhưng từ một khía cạnh khác. Ví dụ: bất kỳ ứng dụng .NET nào nhất thiết phải chứa năm hoặc hai ViewModels và DTO để tuần tự hóa thành JSON và truyền dữ liệu từ máy khách sang máy chủ. Và khoảng 10-15% mã ứng dụng của bạn sẽ được dùng để chuyển dữ liệu từ lớp này sang lớp khác bằng bút hoặc nạng như AutoMapper. Mã này phải được viết và các lập trình viên phải được trả tiền để tạo ra và duy trì nó.

Hóa ra ngôn ngữ 1C khó phát triển mà không phức tạp hóa nó lên ngang tầm với các ngôn ngữ chính thống, do đó làm mất đi ưu điểm về tính đơn giản. Về cơ bản, nhiệm vụ của nhà cung cấp đang được giải quyết là gì: đưa ra một giải pháp tiêu chuẩn mà bất kỳ sinh viên nào gặp trên đường đều có thể tùy chỉnh với mức chất lượng được yêu cầu (tức là đã hoàn thành một trường hợp bao gồm từ gian hàng đến nhà máy lớn). Nếu bạn là một gian hàng, hãy chọn một học viên; nếu bạn là một nhà máy, hãy chọn một chuyên gia từ đối tác thực hiện của bạn. Việc các đối tác thực hiện bán sinh viên với giá của một chuyên gia không phải là vấn đề với khuôn khổ này. Về mặt kiến ​​trúc, khung phải giải quyết được các vấn đề của cả hai, mã cấu hình tiêu chuẩn (mà chúng tôi đã bán cho các doanh nghiệp với hứa hẹn về khả năng tùy chỉnh) phải có thể hiểu được đối với sinh viên và chuyên gia phải có thể hiểu được bất cứ điều gì bạn muốn.

Theo tôi, điều thực sự còn thiếu trong ngôn ngữ, điều buộc bạn phải viết nhiều hơn mức có thể, chính là điều khiến khách hàng lãng phí thời gian.

  • Khả năng gõ ở cấp độ, chẳng hạn như TypeScript (kết quả là các công cụ phân tích mã được phát triển hơn trong IDE, tái cấu trúc, ít lỗi gây khó chịu hơn)
    Có sẵn các chức năng như đối tượng hạng nhất. Một khái niệm phức tạp hơn một chút, nhưng số lượng mã soạn sẵn thông thường có thể giảm đi đáng kể. Sự hiểu biết của học sinh về mã, IMHO, thậm chí sẽ tăng lên do khối lượng giảm
  • Bộ sưu tập phổ quát bằng chữ, bộ khởi tạo. Điều tương tự - giảm số lượng mã cần viết và/hoặc nhìn bằng mắt. Việc điền vào bộ sưu tập chiếm hơn 9000% thời gian lập trình 1C. Viết nội dung này mà không có cú pháp sẽ dài, tốn kém và dễ mắc lỗi. Nhìn chung, lượng LOC trong các giải pháp 1C vượt quá mọi giới hạn có thể tưởng tượng được so với các khung mở có sẵn và nói chung là tất cả các Java doanh nghiệp của bạn cộng lại. Ngôn ngữ dài dòng và điều này biến thành lượng dữ liệu, bộ nhớ, hệ thống phanh IDE, thời gian, tiền bạc...
  • cuối cùng các công trình xây dựng Tôi có một giả thuyết rằng công trình xây dựng này bị thiếu do họ không tìm thấy bản dịch thành công của nó sang tiếng Nga :)
  • Các kiểu dữ liệu riêng (không có OOP), tương tự Kiểu từ VB6. Nó sẽ cho phép bạn không gõ các cấu trúc bằng cách sử dụng các nhận xét trong BSP và các phương thức ma thuật xây dựng các cấu trúc này. Chúng tôi nhận được: ít mã hơn, gợi ý thông qua dấu chấm, giải pháp nhanh hơn cho vấn đề, ít lỗi hơn do lỗi chính tả và thiếu thuộc tính của cấu trúc. Giờ đây, việc gõ cấu trúc người dùng hoàn toàn phụ thuộc vào nhóm phát triển của Thư viện hệ thống con tiêu chuẩn, theo ghi nhận của họ, họ viết cẩn thận các nhận xét về các thuộc tính mong đợi của cấu trúc tham số đã truyền.
  • Không có đường khi làm việc với các cuộc gọi không đồng bộ trên máy khách web. callback-hell ở dạng TreatmentNotifications là một chiếc nạng tạm thời do sự thay đổi đột ngột trong API của các trình duyệt chính, nhưng bạn không thể lúc nào cũng sống như thế này; lợi thế về “sự hiểu biết của sinh viên” về mã không đồng bộ đang bị mất đi; nhiều hơn và nhiều hơn nữa. Thêm vào đó là việc không hỗ trợ mô hình này trong IDE chính và mọi thứ thậm chí còn trở nên tồi tệ hơn.

Đây là một trong những vấn đề cấp bách, rõ ràng là danh sách có thể lớn hơn nhiều, nhưng chúng ta không được quên rằng đây vẫn không phải là ngôn ngữ có mục đích chung, nó không yêu cầu đa luồng, chức năng lambda, truy cập vào GPU và tốc độ nhanh. các phép tính dấu phẩy động. Đây là một ngôn ngữ kịch bản logic nghiệp vụ.

Một lập trình viên đã làm việc nhiều với ngôn ngữ này, nhìn vào js hoặc c#, sẽ cảm thấy nhàm chán trong khuôn khổ của ngôn ngữ này. Đó là một sự thật. Anh ấy cần sự phát triển. Ở phía bên kia của thang đo đối với nhà cung cấp là chi phí triển khai các tính năng được chỉ định so với mức tăng doanh thu sau khi triển khai chúng. Ở đây tôi không có bất kỳ thông tin nào về những gì hiện đang có sức ảnh hưởng lớn hơn trong mắt công ty.

Môi trương phat triển

Mọi chuyện ở đây cũng không diễn ra suôn sẻ. Có hai môi trường phát triển. Đầu tiên là Bộ cấu hình được cung cấp kèm theo. Thứ hai là môi trường Công cụ phát triển doanh nghiệp hay viết tắt là EDT, được phát triển trên nền tảng Eclipse.

Bộ cấu hình cung cấp đầy đủ các nhiệm vụ phát triển, hỗ trợ tất cả các tính năng và là môi trường chính trên thị trường. Theo tin đồn, nó cũng lỗi thời về mặt đạo đức, không phát triển được - do bản thân nó có rất nhiều khoản nợ kỹ thuật. Tình hình có thể được cải thiện bằng cách mở API nội bộ (dưới dạng tình bạn với Người tuyết A. Orefkova hoặc trên cơ sở độc lập), nhưng thực tế không phải vậy. Thực tiễn đã chỉ ra rằng cộng đồng sẽ viết các tính năng của riêng mình vào IDE, miễn là nhà cung cấp không can thiệp. Nhưng chúng tôi có những gì chúng tôi có. Bộ cấu hình này rất tuyệt vời vào năm 2004-2005, rất gợi nhớ đến Visual Studio thời đó, ở một số chỗ nó thậm chí còn ngầu hơn, nhưng nó đã bị kẹt trong thời điểm đó.

Ngoài ra, khối lượng của giải pháp tiêu chuẩn trung bình đã tăng lên nhiều lần kể từ đó và ngày nay IDE đơn giản là không thể đối phó với số lượng mã mà nó được cung cấp. Khả năng sử dụng và tái cấu trúc thậm chí không bằng 0, chúng đang ở mức đỏ. Tất cả những điều này không tạo thêm sự nhiệt tình cho các nhà phát triển và họ mơ ước được chuyển sang các hệ sinh thái khác và tiếp tục viết mã ở đó, nhưng trong một môi trường dễ chịu không làm bạn khó chịu với hành vi của nó.

Để thay thế, một IDE được viết từ đầu, được xây dựng trên Eclipse, được cung cấp. Ở đó, các nguồn, giống như bất kỳ phần mềm nào khác, tồn tại ở dạng tệp văn bản, được lưu trữ trong GIT, kéo các nhánh yêu cầu, tất cả những thứ này. Mặt khác, nó đã không rời khỏi trạng thái beta trong nhiều năm nay, mặc dù nó đang trở nên tốt hơn sau mỗi lần phát hành. Tôi sẽ không viết về nhược điểm của EDT, hôm nay là điểm trừ, ngày mai là tính năng cố định. Sự liên quan của mô tả như vậy sẽ nhanh chóng biến mất. Ngày nay có thể phát triển bằng EDT, nhưng điều đó là không bình thường; bạn cần phải chuẩn bị cho một số lỗi IDE nhất định.

Nếu bạn nhìn vào tình huống thông qua “lăng kính 1C” đã nói ở trên, bạn sẽ nhận được một điều như thế này: việc phát hành IDE mới không làm tăng doanh số bán hộp, nhưng dòng tiền của NHÀ PHÁT TRIỂN có thể giảm xuống. Thật khó để nói điều gì đang chờ đợi hệ sinh thái về mặt sự thoải mái của nhà phát triển, nhưng Microsoft đã làm khó các nhà phát triển di động khi cung cấp cho họ dịch vụ của mình quá muộn.

Quản lý phát triển

Mọi thứ ở đây tốt hơn đáng kể so với việc viết mã, đặc biệt là gần đây, khi nỗ lực của cộng đồng làm sáng tỏ các vấn đề về tự động hóa quản trị, đưa ra các nguyên mẫu kêu gọi ném kho lưu trữ 1C vào đống rác và sử dụng git, đổ lỗi nhanh, xem xét mã , phân tích tĩnh, tự động triển khai, v.v. Nhiều tính năng đã được thêm vào nền tảng giúp tăng mức độ tự động hóa các nhiệm vụ phát triển. Tuy nhiên, tất cả các tính năng này chỉ được thêm vào và dành riêng cho việc phát triển các sản phẩm lớn của riêng chúng tôi, khi rõ ràng là chúng tôi không thể làm được nếu không có tự động hóa. Có tính năng tự động hợp nhất, so sánh ba chiều với KDiff và tất cả những thứ đó. Ra mắt trên Github gitconverter, người, thành thật mà nói, đã bị kéo ra khỏi dự án về mặt ý thức hệ gitsync, nhưng được sửa đổi cho phù hợp với quy trình của công ty cung cấp. Nhờ những kẻ cứng đầu từ nguồn mở, quá trình tự động hóa phát triển trong 1C đã thành công. Một API mở dành cho bộ cấu hình, IMHO, cũng sẽ thay đổi sự lạc hậu về mặt đạo đức của IDE chính.

Ngày nay, việc lưu trữ các nguồn 1C trong git với các cam kết liên quan đến các vấn đề trong Jira, các bài đánh giá trong Crucible, nút ấn từ các báo cáo của Jenkins và Allure về kiểm tra mã trong 1C và thậm chí phân tích tĩnh trong SonarQube - đây không phải là tin tức mà là xu hướng chủ đạo ở các công ty có nhiều sự phát triển 1C.

quản lý

Có rất nhiều điều để nói ở đây. Đầu tiên, tất nhiên đây là một máy chủ (cụm máy chủ 1C). Một điều tuyệt vời, nhưng do thực tế nó là một hộp đen hoàn toàn, được ghi lại đầy đủ chi tiết nhưng theo một cách cụ thể - việc làm chủ việc khởi động hoạt động không bị gián đoạn ở chế độ tải cao trên một số máy chủ là rất nhiều người được chọn đeo một chiếc hộp đen. huy chương có dòng chữ “Chuyên gia về các vấn đề công nghệ”. Điều đáng lưu ý là về nguyên tắc, việc quản trị máy chủ 1C không khác gì quản trị bất kỳ máy chủ nào khác. Nó là một ứng dụng đa luồng, dựa trên mạng, tiêu tốn tài nguyên bộ nhớ, CPU và đĩa. Cung cấp nhiều cơ hội cho việc thu thập và chẩn đoán đo từ xa.

Vấn đề ở đây là nhà cung cấp không cung cấp bất kỳ điều gì đặc biệt về các giải pháp làm sẵn cho chính chẩn đoán này. Vâng, có 1C: Trung tâm điều khiển và thiết bị, chúng thậm chí còn khá tốt, nhưng chúng rất đắt và không phải ai cũng có. Có một số phát triển trong cộng đồng nhằm kết nối Grafana, Zabbix, ELK và những thứ khác từ bộ quản trị tiêu chuẩn, nhưng không có giải pháp duy nhất nào phù hợp với đa số. Nhiệm vụ đang chờ đợi người hùng của nó. Và nếu bạn là doanh nghiệp có kế hoạch triển khai trên cụm 1C, bạn cần có Chuyên gia. Của riêng bạn bên trong hoặc từ bên ngoài, nhưng bạn cần nó. Việc có một vai trò riêng biệt có năng lực vận hành máy chủ là điều bình thường, không phải người dùng 1C nào cũng biết điều này, bạn chỉ cần hiểu rằng vai trò đó là cần thiết. Hãy lấy SAP làm ví dụ. Ở đó, rất có thể, một lập trình viên thậm chí sẽ không đứng dậy khỏi ghế nếu được yêu cầu cấu hình thứ gì đó trên máy chủ ứng dụng. Anh ta có thể chỉ là ngu ngốc và anh ta sẽ không xấu hổ. Trong phương pháp SAP có vai trò riêng của nhân viên cho việc này. Vì lý do nào đó, trong ngành 1C, người ta tin rằng điều này nên được kết hợp ở một nhân viên với cùng mức lương. Đó là một ảo tưởng.

Nhược điểm của máy chủ 1C

Có chính xác một điểm trừ - độ tin cậy. Hoặc, nếu bạn thích, không thể đoán trước được. Hành vi kỳ lạ đột ngột của máy chủ đã trở thành chủ đề bàn tán của thị trấn. Một biện pháp khắc phục phổ biến - dừng máy chủ và xóa tất cả bộ nhớ đệm - thậm chí còn được mô tả trong sổ tay dành cho chuyên gia và thậm chí cả một sổ tay hàng loạt cũng được khuyến nghị thực hiện điều này. Nếu hệ thống 1C của bạn bắt đầu làm điều gì đó mà về mặt lý thuyết nó không nên làm, thì đã đến lúc xóa bộ đệm dữ liệu phiên. Theo ước tính của tôi, cả nước chỉ có ba người biết cách vận hành máy chủ 1C mà không cần quy trình này và họ không chia sẻ bí mật, bởi vì... họ sống từ điều này. Có lẽ bí mật của họ là làm sạch dữ liệu phiên, nhưng họ không nói cho ai biết về điều đó, anh bạn ạ.

Mặt khác, máy chủ 1C là ứng dụng giống như bất kỳ ứng dụng nào khác và được quản lý theo cách gần giống nhau, bằng cách đọc tài liệu và gõ vào tambourine.

phu bến tàu

Tính hữu ích của việc sử dụng máy chủ 1C đóng gói trong sản xuất vẫn chưa được chứng minh. Máy chủ không được phân cụm bằng cách chỉ cần thêm các nút phía sau bộ cân bằng, điều này làm giảm lợi ích của việc đóng gói sản xuất ở mức tối thiểu và hoạt động vận hành thành công trong các vùng chứa ở chế độ tải cao vẫn chưa được thiết lập. Do đó, chỉ các nhà phát triển mới sử dụng Docker+1C để thiết lập môi trường thử nghiệm. Ở đó, nó rất hữu ích, được áp dụng, cho phép bạn chơi với các công nghệ hiện đại và thoát khỏi sự chán nản của người cấu hình.

thành phần thương mại

Từ quan điểm đầu tư, 1C cho phép bạn giải quyết vấn đề nhanh chóng đưa ra ý tưởng kinh doanh nhờ khả năng rộng rãi của các lớp ứng dụng. 1C ngay lập tức cung cấp Báo cáo rất tốt, tích hợp với mọi thứ, ứng dụng khách web, ứng dụng khách di động, ứng dụng di động, hỗ trợ cho nhiều DBMS khác nhau, bao gồm cả. miễn phí, đa nền tảng cả máy chủ và các phần máy khách được cài đặt. Có, giao diện người dùng của ứng dụng sẽ có màu vàng, đôi khi đây là một điểm trừ nhưng không phải lúc nào cũng vậy.
Bằng cách chọn 1C, doanh nghiệp sẽ có được một bộ giải pháp phần mềm cho phép họ xây dựng rất nhiều ứng dụng, cũng như nhiều nhà phát triển trên thị trường muốn ít tiền hơn những người Javaist và đồng thời tạo ra kết quả nhanh hơn.

Ví dụ: nhiệm vụ gửi hóa đơn PDF cho khách hàng có thể được giải quyết trong một giờ làm việc của sinh viên. Vấn đề tương tự trong .NET có thể được giải quyết bằng cách mua một thư viện độc quyền hoặc vài ngày hoặc vài tuần viết mã bởi một nhà phát triển có râu và nghiêm khắc. Đôi khi, cả hai cùng một lúc. Và vâng, tôi chỉ đang nói về việc tạo PDF. Chúng tôi chưa nói dự luật này sẽ đến từ đâu. Người giao diện web phải tạo một biểu mẫu để người vận hành sẽ nhập dữ liệu, người phụ trợ sẽ phải tạo các mô hình dto để truyền JSON, các mô hình để lưu trữ trong cơ sở dữ liệu, cấu trúc của chính cơ sở dữ liệu, di chuyển sang nó, hình thành đồ họa hiển thị chính tài khoản này và chỉ sau đó - PDF. Trên 1C, toàn bộ nhiệm vụ, từ đầu, được hoàn thành trong đúng một giờ.

Một hệ thống kế toán chính thức cho một gian hàng nhỏ với một quy trình kinh doanh mua/bán được thực hiện trong 3 giờ với báo cáo bán hàng, hạch toán hàng hóa theo giá mua và bán, chia theo kho, kiểm soát quyền truy cập, ứng dụng web và ứng dụng di động. . Được rồi, tôi quên mất đơn đăng ký, ứng dụng không còn trong 3 giờ nữa mà là sáu giờ.

Nhiệm vụ này sẽ mất bao lâu để một nhà phát triển .NET cài đặt studio trực quan trên một máy tính sạch đến khi trình diễn nó cho khách hàng? Còn chi phí phát triển thì sao? Điều tương tự.

Điểm mạnh của 1C với vai trò là nền tảng

1C mạnh không phải vì nó có điều gì đó cụ thể tốt nhất trên thế giới. Ngược lại, trong mỗi hệ thống con riêng lẻ, bạn có thể tìm thấy một hệ thống tương tự thú vị hơn trong phần mềm của thế giới. Tuy nhiên, dựa trên sự kết hợp của nhiều yếu tố, tôi không thấy nền tảng nào tương tự như 1C. Đây là nơi thành công về mặt thương mại. Những lợi thế của nền tảng này nằm rải rác khắp nó và được thấy rõ nhất khi bạn thấy cách thực hiện điều này trên các nền tảng khác. Về cơ bản, đây thậm chí KHÔNG phải là các tính năng mà ngược lại - sự từ chối các tính năng có lợi cho một mô hình cụ thể. Một vài ví dụ:

  1. Unicode. Cái quái gì có thể đơn giản hơn? Không cần sử dụng bảng mã ASCII một byte vào năm 2019 (ngoại trừ việc tích hợp với các bảng mã cũ). Không bao giờ. Nhưng không. Dù sao, ai đó trong một số bảng sử dụng varchar một byte và ứng dụng sẽ gặp vấn đề với mã hóa. Vào năm 2015, ủy quyền LDAP của gitlab không thành công do hoạt động không chính xác với mã hóa; JetBrains IDE vẫn không hoạt động với Cyrillic trong tên tệp ở mọi nơi. 1C cung cấp sự tách biệt chất lượng cao của mã ứng dụng khỏi lớp cơ sở dữ liệu. Ở đó không thể gõ các bảng ở cấp độ thấp và không thể có những đàn em kém năng lực ở cấp cơ sở dữ liệu ở đó. Đúng, có thể có những vấn đề khác xảy ra với những đàn em kém năng lực, nhưng mức độ đa dạng của các vấn đề nhỏ hơn nhiều. Bây giờ bạn sẽ cho tôi biết rằng ứng dụng của bạn được thiết kế chính xác và lớp truy cập cơ sở dữ liệu được tách biệt như bình thường. Hãy xem xét lại ứng dụng Java tùy chỉnh của công ty bạn. Gần gũi và trung thực. Lương tâm của bạn có làm phiền bạn không? Thế thì tôi mừng cho bạn.
  2. Đánh số tài liệu/sách tham khảo. Ở 1C, nó chắc chắn không phải là linh hoạt nhất và không phải là tốt nhất. Nhưng những gì họ làm trong phần mềm ngân hàng và trong các hệ thống kế toán tự viết - tất cả chỉ là bóng tối. Hoặc danh tính sẽ bị mắc kẹt (và sau đó “ồ, tại sao chúng ta lại có lỗ hổng”), hoặc ngược lại, họ sẽ tạo ra một trình tạo hoạt động với chức năng khóa ở cấp DBMS (và sẽ trở thành nút cổ chai). Trên thực tế, khá khó để thực hiện nhiệm vụ tưởng chừng đơn giản này - một bộ liệt kê các thực thể từ đầu đến cuối, với phần duy nhất dựa trên một bộ khóa, tiền tố nhất định, để nó không chặn cơ sở dữ liệu trong quá trình nhập dữ liệu song song .
  3. Mã định danh của các bản ghi trong cơ sở dữ liệu. 1C đã đưa ra một quyết định có ý chí mạnh mẽ - tất cả các số nhận dạng liên kết hoàn toàn là tổng hợp và chỉ có vậy thôi. Và không có vấn đề gì với cơ sở dữ liệu phân tán và trao đổi. Các nhà phát triển của các hệ thống khác ngoan cố tạo ra thứ gì đó như danh tính (ngắn hơn!), kéo chúng vào GUI cho đến khi tạo một số phiên bản liên quan (và sau đó chúng sẽ bị phát hiện). Bạn không có cái này à? Thành thật?
  4. Danh sách. 1C có cơ chế khá thành công trong việc phân trang qua các danh sách (lớn) và điều hướng qua chúng. Hãy để tôi đặt chỗ ngay - với việc sử dụng đúng cơ chế! Nhìn chung, chủ đề này khá khó chịu, không thể giải quyết một cách lý tưởng: nó trực quan và đơn giản (nhưng có nguy cơ tạo ra các tập bản ghi khổng lồ trên máy khách), hoặc phân trang là một cách quanh co nào đó. Những người làm phân trang thường làm một cách quanh co. Những người tạo ra thanh cuộn trung thực sẽ thêm cơ sở dữ liệu, kênh và ứng dụng khách.
  5. Các biểu mẫu được quản lý Không còn nghi ngờ gì nữa, trong ứng dụng web, giao diện không hoạt động hoàn hảo. Nhưng nó đã có tác dụng. Nhưng đối với nhiều hệ thống kế toán và ngân hàng khác, việc tạo ra một nơi làm việc từ xa là một dự án cấp doanh nghiệp. Tuyên bố miễn trừ trách nhiệm: may mắn thay cho những người ban đầu tạo nó trên web, điều này sẽ không ảnh hưởng.
  6. Ứng dụng di động. Gần đây, bạn cũng có thể viết ứng dụng di động trong cùng một hệ sinh thái. Ở đây phức tạp hơn một chút so với ứng dụng khách web; các chi tiết cụ thể của thiết bị buộc bạn phải viết riêng cho chúng, tuy nhiên, bạn không thuê một nhóm nhà phát triển thiết bị di động riêng biệt. Nếu bạn cần một ứng dụng cho nhu cầu nội bộ của một công ty (khi giải pháp di động cho một vấn đề của công ty quan trọng hơn thiết kế giao diện người dùng màu vàng), bạn chỉ cần sử dụng cùng một nền tảng ngay lập tức.
  7. Báo cáo. Với từ này, tôi không có ý nói đến một hệ thống BI có dữ liệu lớn và có độ trễ trong quy trình ETL. Điều này đề cập đến các báo cáo của nhân viên vận hành cho phép bạn đánh giá tình trạng kế toán ở đây và bây giờ. Số dư, thanh toán lẫn nhau, phân loại lại, v.v. 1C đi kèm với hệ thống báo cáo với các cài đặt linh hoạt cho các nhóm, bộ lọc và trực quan hóa ở phía người dùng. Vâng, có những sản phẩm tương tự mát hơn trên thị trường. Nhưng không nằm trong khuôn khổ giải pháp tất cả trong một và ở mức giá đôi khi cao hơn giải pháp tất cả trong một. Và thường thì ngược lại: chỉ báo cáo, nhưng đắt hơn toàn bộ nền tảng và chất lượng kém hơn.
  8. Các hình thức có thể in được. Chà, hãy sử dụng .NET để giải quyết vấn đề gửi phiếu lương dưới dạng PDF cho nhân viên qua email. Và bây giờ là nhiệm vụ in hóa đơn. Còn việc lưu bản sao của họ vào cùng một tệp PDF thì sao? Đối với biệt hiệu 1C, xuất bất kỳ bố cục nào sang PDF là +1 dòng mã. Điều này có nghĩa là + 40 giây thời gian làm việc, thay vì nhiều ngày hoặc nhiều tuần trong ngôn ngữ khác. Bố cục dạng in ở dạng 1C cực kỳ dễ phát triển và đủ mạnh để cạnh tranh với các đối tác trả phí. Có, có thể, không có nhiều cơ hội tương tác trong tài liệu bảng tính 1C; bạn không thể nhanh chóng có được sơ đồ 3D có chia tỷ lệ bằng OpenGL. Nhưng nó có thực sự cần thiết?

Đây chỉ là một số ví dụ trong đó việc hạn chế chức năng hoặc thực hiện các thỏa hiệp hóa ra lại là một lợi ích kiến ​​trúc quan trọng trong tương lai. Ngay cả một sự thỏa hiệp hoặc không phải là lựa chọn hiệu quả nhất - nó đã có sẵn và được coi là đương nhiên. Việc triển khai độc lập của nó sẽ là không thể (vì những quyết định như vậy phải được đưa ra khi bắt đầu dự án và không có thời gian cho việc đó cũng như không có kiến ​​trúc sư nào cả) hoặc một số lần lặp lại tốn kém. Trong mỗi điểm được liệt kê (và đây không phải là danh sách đầy đủ các giải pháp kiến ​​trúc), bạn có thể khắc phục và đưa ra các hạn chế ngăn cản việc mở rộng quy mô. Trong mọi trường hợp, bạn, với tư cách là một doanh nhân, cần phải đảm bảo rằng các lập trình viên của bạn, khi tạo ra một “hệ thống từ đầu”, phải trực tiếp và sẽ giải quyết tốt các vấn đề hệ thống phức tạp ngay lập tức.

Có, giống như bất kỳ hệ thống phức tạp nào khác, bản thân 1C cũng có các giải pháp ngăn chặn việc mở rộng quy mô ở một số khía cạnh nhất định. Tuy nhiên, tôi nhắc lại, dựa trên sự kết hợp của nhiều yếu tố, chi phí sở hữu và số lượng vấn đề đã được giải quyết trước, tôi không thấy có đối thủ xứng tầm trên thị trường. Với cùng một mức giá, bạn sẽ có được khung ứng dụng tài chính, máy chủ cân bằng theo nhóm, với giao diện người dùng và web, với ứng dụng di động, với tính năng báo cáo, tích hợp và nhiều thứ khác. Trong thế giới Java, bạn thuê một nhóm front-end và back-end, gỡ lỗi các nhóm mã máy chủ viết tại nhà cấp thấp và trả tiền riêng cho 2 ứng dụng di động cho 2 hệ điều hành di động.

Tôi không nói rằng 1C sẽ giải quyết được mọi trường hợp, nhưng đối với một ứng dụng nội bộ công ty, khi không cần xây dựng thương hiệu cho UI thì còn cần gì nữa?

Bay trong thuốc mỡ

Bạn có thể có ấn tượng rằng 1C sẽ cứu thế giới và tất cả các cách viết khác về hệ thống công ty đều sai. Thực ra nó không hẳn là vậy. Theo quan điểm của một doanh nhân, nếu chọn 1C thì ngoài thời gian đưa sản phẩm ra thị trường nhanh, bạn còn phải tính đến những nhược điểm sau:

  • Độ tin cậy của máy chủ. Cần có những chuyên gia thực sự chất lượng cao để có thể đảm bảo hoạt động của nó không bị gián đoạn. Tôi không biết về chương trình đào tạo sẵn có dành cho những chuyên gia như vậy từ nhà cung cấp. Có những khóa học để chuẩn bị cho kỳ thi Expert, nhưng theo tôi, điều này là chưa đủ.
  • Ủng hộ. Xem điểm trước. Để có được sự hỗ trợ từ nhà cung cấp, bạn cần phải mua nó. Vì lý do nào đó, điều này không được chấp nhận trong ngành 1C. Và với SAP, đây gần như là thứ phải mua và không làm phiền bất cứ ai. Nếu không có sự hỗ trợ của công ty và không có chuyên gia về nhân viên, bạn có thể bị bỏ lại một mình với những trục trặc 1C.
  • Tuy nhiên, bạn không thể làm được mọi thứ với 1C. Đây là một công cụ và giống như mọi công cụ, nó có những giới hạn về khả năng ứng dụng. Trong bối cảnh 1C, rất mong muốn có một kiến ​​trúc sư hệ thống “không phải 1C”.
  • Biệt danh 1C tốt không hề rẻ hơn những lập trình viên giỏi ở các ngôn ngữ khác. Mặc dù vậy, việc thuê những lập trình viên tồi rất tốn kém, bất kể họ viết bằng ngôn ngữ nào.

Hãy chấm các dấu chấm

  • 1C là khung phát triển ứng dụng nhanh (RAD) dành cho doanh nghiệp và được thiết kế riêng cho mục đích này.
  • Liên kết ba tầng với sự hỗ trợ cho các DBMS chính, giao diện người dùng khách, ORM và báo cáo rất tốt
  • Khả năng tích hợp rộng rãi với các hệ thống có thể làm được điều mà 1C không thể. Nếu bạn muốn học máy, hãy lấy Python và gửi kết quả tới 1C qua http hoặc RabbitMQ
  • Không cần phải cố gắng làm mọi việc bằng 1C, bạn cần hiểu rõ điểm mạnh của nó và sử dụng chúng cho mục đích riêng của mình
  • Các nhà phát triển tập trung vào việc đào sâu vào các thiết bị hệ thống công nghệ và thiết kế lại N năm một lần cho một động cơ mới đã cảm thấy nhàm chán với 1C. Mọi thứ ở đó đều rất bảo thủ.
  • Các nhà phát triển cũng cảm thấy nhàm chán vì có rất ít sự quan tâm dành cho họ từ nhà sản xuất. Ngôn ngữ nhàm chán, IDE yếu. Họ yêu cầu hiện đại hóa.
  • Mặt khác, những nhà phát triển không thể tìm thấy niềm vui khi sử dụng và học hỏi công nghệ khác mà họ yêu thích là những nhà phát triển tồi. Chúng sẽ rên rỉ và di chuyển sang hệ sinh thái khác.
  • Những nhà tuyển dụng không cho phép biệt danh 1C của họ viết nội dung gì đó bằng Python là những nhà tuyển dụng tồi. Họ sẽ mất đi những nhân viên có đầu óc ham học hỏi, và thay vào đó là những lập trình viên khỉ, những người dù đồng ý với mọi thứ nhưng sẽ kéo phần mềm của công ty vào đầm lầy. Nó vẫn sẽ phải được viết lại, vậy có lẽ sẽ tốt hơn nếu đầu tư một chút vào Python sớm hơn một chút?
  • 1C là một công ty thương mại và triển khai các tính năng chỉ dựa trên lợi ích và lợi ích riêng của mình. Chuyện này không thể trách cô ấy được, kinh doanh phải nghĩ đến lợi nhuận, cuộc sống là vậy
  • 1C kiếm tiền bằng cách bán giải pháp cho các vấn đề kinh doanh chứ không phải cho các vấn đề của nhà phát triển Vasya. Hai khái niệm này tương quan với nhau, nhưng mức độ ưu tiên đúng như những gì tôi đã nói. Khi nhà phát triển Vasya sẵn sàng trả tiền để mua giấy phép cá nhân cho 1C: Resharper, nó sẽ xuất hiện khá nhanh, “Resharper” của A. Orefkova là bằng chứng cho điều này. Nếu nhà cung cấp ủng hộ nó và không chống lại nó, một thị trường phần mềm dành cho các nhà phát triển sẽ xuất hiện. Hiện có một rưỡi người chơi trên thị trường này với kết quả đáng ngờ, tất cả là do việc tích hợp với IDE là tiêu cực và mọi thứ đều được thực hiện bằng nạng.
  • Việc thực hành người vận hành nhiều máy sẽ chìm vào quên lãng. Các ứng dụng hiện đại quá lớn để có thể ghi nhớ cả về mặt mã và mặt sử dụng kinh doanh. Máy chủ 1C cũng ngày càng trở nên phức tạp hơn; sẽ không thể chứa đựng tất cả các loại kiến ​​thức chuyên môn trong một nhân viên. Điều này sẽ kéo theo nhu cầu về các chuyên gia, đồng nghĩa với sự hấp dẫn của nghề 1C và mức lương tăng lên. Nếu trước đây Vasya làm việc ba trong một với một mức lương thì bây giờ bạn cần thuê hai Vasya và sự cạnh tranh giữa các Vasya có thể thúc đẩy sự phát triển chung về trình độ của họ.

Kết luận

1C là một sản phẩm rất xứng đáng. Trong tầm giá của tôi, tôi không biết bất kỳ sản phẩm tương tự nào cả, hãy viết bình luận nếu có. Tuy nhiên, dòng chảy của các nhà phát triển khỏi hệ sinh thái ngày càng trở nên đáng chú ý và đây là một sự “chảy máu chất xám”, bất kể bạn nhìn nó như thế nào. Ngành công nghiệp đang khao khát hiện đại hóa.
Nếu bạn là nhà phát triển, đừng bận tâm đến 1C và đừng nghĩ rằng mọi thứ đều kỳ diệu trong các ngôn ngữ khác. Có lẽ khi bạn còn là học sinh cấp dưới. Ngay khi cần giải quyết một vấn đề lớn hơn, các giải pháp làm sẵn sẽ phải được tìm kiếm lâu hơn và hoàn thiện một cách chuyên sâu hơn. Xét về chất lượng của các “khối” mà từ đó một giải pháp có thể được xây dựng, 1C là rất rất tốt.

Và một điều nữa - nếu biệt danh 1C được bạn thuê, thì biệt hiệu 1C có thể được bổ nhiệm một cách an toàn vào vị trí nhà phân tích chính. Sự hiểu biết của họ về nhiệm vụ, lĩnh vực chủ đề và kỹ năng phân tích là tuyệt vời. Tôi chắc chắn rằng điều này chính xác là do việc ép buộc sử dụng DDD trong quá trình phát triển 1C. Một người được đào tạo để suy nghĩ trước hết về ý nghĩa của một nhiệm vụ, về mối liên hệ giữa các đối tượng của lĩnh vực chủ đề, đồng thời có nền tảng kỹ thuật về công nghệ tích hợp và các định dạng trao đổi dữ liệu.

Hãy lưu ý rằng khuôn khổ lý tưởng không tồn tại và hãy chăm sóc bản thân.
Tốt cho tất cả!

PS: cảm ơn bạn rất nhiều phát ban để được hỗ trợ trong việc chuẩn bị bài viết.

Chỉ những người dùng đã đăng ký mới có thể tham gia khảo sát. Đăng nhập, xin vui lòng.

Doanh nghiệp của bạn có 1C không?

  • 13,3%Không hề.71

  • 30,3%Có, nhưng chỉ ở phòng kế toán ở đâu đó thôi. Hệ thống cốt lõi trên các nền tảng khác162

  • 41,4%Có, các quy trình kinh doanh chính đều hoạt động trên đó221

  • 15,0%1C phải chết, tương lai thuộc về %technology_name%80

534 người dùng bình chọn. 99 người dùng bỏ phiếu trắng.

Nguồn: www.habr.com

Thêm một lời nhận xét