2009-02-11 28 views
10

Giống như hầu hết mọi người, tôi đã học C++ sau C. Tôi đã học C++ vì nó là một trong những ngôn ngữ tìm nạp công việc. Tôi vẫn đang học (làm thạc sĩ). Một trong những người anh em họ của tôi đã làm việc như một nhà phát triển trong khoảng 12 năm.Ngành nào của ngành công nghiệp phần mềm sử dụng C++?

Ông khuyên tôi nên học Java để tôi có thể đáp ứng tốt công việc. Ông cho biết chỉ có một số lĩnh vực như truyền thông tele sử dụng C++ và hầu như tất cả các phần mềm doanh nghiệp được phát triển bằng Java. Tôi đang làm việc như một kỹ thuật viên sinh viên trong trường đại học của tôi. Công việc liên quan đến lập trình Windows trong C++. Tôi đã học được Java cốt lõi. Tôi không biết bất kỳ ai trong số đó là Struts, Hibernate hoặc bất kỳ thứ gì ở ngoài đó.

Để an toàn hơn, tôi dự định làm chủ cả hai. Nhưng tôi nghĩ Java là một đại dương, mặc dù nó dễ dàng hơn trong việc lập trình bằng Java so với C++ (đây là ý kiến ​​của tôi. Những người yêu thích C++ không giết tôi).

Bạn chuyên nghiệp và chuyên gia nào tư vấn cho tôi. Bạn có nghĩ rằng tôi nên học cả hai. Những ngành nào của ngành công nghiệp phần mềm sử dụng C++?

Trả lời

55

Lời khuyên tốt nhất mà tôi từng học đại học là từ giáo sư ngôn ngữ của tôi, người đã nói với tôi (diễn giải ở đây): "Đừng ghi nhớ ngôn ngữ; không kết hôn với ngôn ngữ. Chúng chỉ là công cụ." làm những điều cơ bản giống nhau. Thay vì học một ngôn ngữ cụ thể, hãy tìm hiểu nền tảng phát triển phần mềm tốt. Sau đó, bạn sẽ có thể học bất kỳ ngôn ngữ nào và thành công với nó. "

Tôi sợ học ngôn ngữ mới trước khi anh ấy nói với tôi điều đó. Afterwords, tôi đã đưa lời khuyên của anh ấy đến trái tim và nó tạo ra tất cả sự khác biệt. Ngôn ngữ chỉ là công cụ trong hộp công cụ của bạn. Nếu bạn có thể lập trình và viết phần mềm tốt bằng một ngôn ngữ, bạn có thể làm điều đó trong một ngôn ngữ khác.

+1

Chắc chắn chúng là công cụ, nhưng chúng đi kèm với hộp công cụ (thư viện chuẩn) và phải mất một thời gian để tìm ra búa tốt nhất cho vấn đề đã cho. – Anonymous

+2

Theo nghĩa thuần túy, tôi đồng ý. Tuy nhiên, khi thời hạn chết và bạn không biết sự kỳ quặc của một môi trường nhất định (thư viện, hệ điều hành, trình điều khiển, nhà cung cấp, vv) thì lý thuyết sẽ đi ra ngoài cửa sổ và bạn phải biết chi tiết về việc triển khai. –

+0

Các lập trình viên thường không phải là người thông minh? Chúng tôi có xu hướng tìm ra những điều này. Và có, tôi đã phải làm điều đó trên một thời hạn chặt chẽ trên một ngôn ngữ tôi chưa bao giờ xúc động trước đây. Tôi chắc rằng có những dòng mã trong dự án mà tôi đã viết khác đi bây giờ, nhưng nó đã thành công, và đó là những gì đếm được. –

9

Trò chơi điện tử vẫn sử dụng C++. Một ví dụ mà nói đến cái tâm là động cơ mô-men xoắn có thể được sử dụng để phát triển trò chơi iphone và xbox.

3

Từ khóa: Ngân hàng (tổ chức tài chính), trò chơi

Oh, và cũng có thể các nhà vật lý hạt và các nhà khoa học khác bằng cách sử dụng (in) nổi tiếng khuôn khổ ROOT.

Và xem this list các ứng dụng dựa trên C++.

+1

Theo kinh nghiệm của tôi, ngân hàng và tài chính hầu như không bao giờ C++. Nếu gần đây, đó là Java; nếu không, COBOL. –

+0

Việc tìm kiếm bằng cách sử dụng từ khóa C++ và ngân hàng/tài chính dường như nói điều gì đó khác biệt. – Anonymous

16

C++ thậm chí không gần chết.

Kinh nghiệm của tôi:

Bloomberg, Reuters, và tất cả các khách hàng ngân hàng/kinh doanh của họ những người muốn thấp dữ liệu thị trường trễ feeds sử dụng C++. (Fidelity, JPMorgan, BNP, Citibank, v.v.)

Ngành công nghiệp quốc phòng sử dụng C++. (trong số các ngôn ngữ khác - Java cũng phổ biến)

Các ngành này cũng sử dụng java và các ngôn ngữ khác, nhưng C++ khó đánh bại. Cũng lưu ý rằng có một cơ sở mã C++ hiện có HUGE sẽ mất nhiều thời gian để bỏ đi (nếu có)

Không khó để biết và sử dụng cả hai. Đừng lo lắng quá nhiều về một ngôn ngữ cụ thể. Đó không phải là điểm then chốt thực sự của việc phát triển phần mềm.

+0

Rất nhiều điều khiển/hệ thống nhúng và PLC cũng sử dụng C++. – Syntax

+0

Rất nhiều ngành công nghiệp quốc phòng sử dụng Ada và C++ – paxos1977

19

C++ vẫn được sử dụng rộng rãi cho các tác vụ chuyên sâu về hiệu suất. Ví dụ, tôi làm rất nhiều công việc với nén video và giải nén - đó là tất cả C++. Một phần vì chúng tôi cần hiệu suất, và một phần vì tất cả thư viện của bên thứ ba cần sử dụng là C++ nên dễ dàng tích hợp với chúng hơn nếu chúng tôi sử dụng cùng một ngôn ngữ.

5

Nhiều nhà thầu quốc phòng, đặc biệt là khi đối phó với phần cứng, sử dụng C++

Nhiều nhà sản xuất thiết bị y tế tiên tiến (ví dụ, MRI) sử dụng C++.

Tôi nói tìm hiểu cả hai nếu bạn có thể. Thật tốt khi có nền tảng C++ ngay cả khi bạn kết thúc bằng một ngôn ngữ có hộp cát như C++/C#. Quá nhiều người không hiểu những điều cơ bản.

Lưu ý rằng các thành phố khác nhau có đa số công việc bằng một ngôn ngữ cụ thể. Tới bảng công việc craigslist cho thành phố bạn nghĩ bạn sẽ kết thúc và xem những gì họ tìm kiếm. Ví dụ, Pittsburgh là một thị trấn C# trong khi New York cân bằng hơn.

19

Một off-the-top-of-my-đầu danh sách ngắn các dự án có sử dụng C++:

  • phát triển tài xế Device
  • Games
  • động cơ nâng cao (âm thanh, xử lý hình ảnh, vv)
  • Telecom
  • phần mềm nhúng (thiết bị và như vậy)
+2

Nhúng ít phổ biến hơn khi thời gian trôi qua? Không thực sự: số lượng thiết bị nhúng chỉ tăng trưởng lớn hơn. –

+0

Không phải số lượng thiết bị được nhúng, việc sử dụng C++ trên chúng. Dường như với tôi rằng các ngôn ngữ bậc cao đang trở nên phổ biến hơn trên các hệ thống nhúng. –

+3

Trong rất nhiều hệ thống nhúng, C++ sẽ được coi là khá "ngôn ngữ cấp cao" (tiến trình thông thường là assembly-C-C++). Không chắc chắn các ngôn ngữ phổ biến "cao hơn" so với C++ trong các hệ thống nhúng. Tôi thấy và làm việc trên hàng chục mỗi năm, C/C++ vẫn thống trị (có lẽ là lắp ráp nhiều như C++, BTW) – Dan

2

Trường đại học của bạn không có bất kỳ khóa học dựa trên Java nào? Thật ki quặc!!

Bạn nên tìm hiểu không chỉ là C++ và Java, nhưng nên được tiếp xúc với một số ngôn ngữ và mô

11

Một số trang web tự xưng là Google tính toán rằng nó sử dụng C++ rộng rãi. Cảm ơn Chúa, họ không cần hiệu suất để lập chỉ mục vài trang web trên mạng.

Nếu điều này Interweb thingy cất cánh, họ sẽ gặp rắc rối thực sự. (-:

Mặc dù nghiêm túc, ngoài những thay đổi hiện tại của kênh (đảo chiều) đến C và Perl, bốn dự án trước đây đều C++

  1. một hệ thống điều khiển khởi hành quy mô lớn cho nhiều của. các hãng hàng không lớn trên thế giới (30.000 tệp nhật ký 10MB mỗi ngày)
  2. trình mô phỏng đào tạo chuyến bay và nền tảng phần mềm dựa trên nền tảng cho máy bay quân sự mới
  3. một khung quy mô lớn cho trình mô phỏng kiểm soát không lưu hiện tại được sử dụng để kết hợp Mạng viễn thông hàng không mới (ATN)
  4. hệ thống xử lý và hiển thị radar tiên tiến cho trung tâm điều khiển không lưu trên tuyến

Tất cả thực sự xen kẽ.

+0

Tôi tự hỏi Internet sẽ như thế nào nếu không có Google !! – hasen

+0

Nếu không phải là google, một người nào khác sẽ là của họ trong một số tên lạ mắt khác! (jibjaw, jiggle, nibble ... bất cứ điều gì điên) – AKN

1

Java rất tuyệt vời cho đến khi bạn phải bắt đầu quan tâm đến các chi tiết mà nó tóm tắt. Hầu hết mọi người không cần phải làm điều đó.

0

C++ được sử dụng nhiều trong các hệ thống nhúng. Nó đang được sử dụng trong phát triển UI. Ví dụ: khung QT nổi tiếng được viết bằng C++.

Cuối cùng nó phụ thuộc vào những gì bạn muốn làm. Nếu bạn muốn làm việc trong các hệ thống nhúng, hãy học C/C++ tốt hơn.

5

C++ vẫn được sử dụng rộng rãi trong các ứng dụng kỹ thuật, chẳng hạn như hệ thống CAD/CAM cao cấp.

Tôi nghĩ rằng cái chết của mã gốc được phóng đại nhiều. Ngay cả Microsoft cũng đã tránh xa việc tạo ra C++ tất cả về .NET trong Visual Studio 2008. Nó dường như đang tích cực cải thiện các công cụ phát triển C++ bản địa của nó một lần nữa cũng như làm cho interop với thế giới được quản lý dễ dàng hơn.

+0

Thành thật mà nói, tôi nghĩ Microsoft chỉ muốn một đối thủ cạnh tranh với Java. :) –

1

Lời khuyên của tôi là làm chủ bất kỳ ngôn ngữ nào bạn thích hơn. Tôi biết C++ và Java tốt, và đã sử dụng cả hai chuyên nghiệp. Tuy nhiên, tôi sẽ không bao giờ chấp nhận một công việc C++ khác bởi vì tôi thấy C++ tẻ nhạt và phiền não. Tôi thay vì đầu tư thời gian của tôi làm chủ các ngôn ngữ thú vị hơn.

2

Tôi có xu hướng đồng ý với người anh em họ của bạn. Java chắc chắn được sử dụng trong nhiều ứng dụng doanh nghiệp (nghĩ rằng những thứ mà một ngân hàng hoặc công ty bảo hiểm sẽ cần), trong khi C++ được sử dụng trong nhiều thị trường "thích hợp" hơn. Tôi cũng đồng ý với bạn rằng Java dễ học và làm chủ hơn C++. Không xấu hổ hay vi phạm trong việc thừa nhận điều đó.

Chúng tôi sử dụng cả nơi tôi làm việc, viết phần mềm nhúng trong C++, nhưng giao tiếp với nó từ các ứng dụng GUI được viết bằng Java. Chắc chắn có rất nhiều phòng trong ngành công nghiệp phần mềm cho cả hai ngôn ngữ (và nhiều hơn nữa).

+0

+1 cho "Không xấu hổ hoặc vi phạm khi thừa nhận điều đó". – AKN

0

Tôi sử dụng C và C++ thường xuyên tại nơi làm việc của mình, nơi tôi làm việc trên các thiết bị nhúng. Chúng ta cũng không nói những thứ siêu cấp thấp, ở đây. Tôi làm việc ở cấp độ trung bình và giao diện người dùng. Hãy suy nghĩ Qt, Gtk +, Windows Mobile SDK, v.v.

1

Tôi chủ yếu dùng cho các ứng dụng máy tính trong và ngoài trong các công ty sản xuất và viễn thông trong một thời gian dài và chỉ làm việc toàn thời gian với Java trong khoảng 1 năm Trong số 16,

Java dường như không tiếp quản desktop như dự đoán vào giữa những năm 90 khi nó xuất hiện lần đầu tiên, và giờ đây C++ dường như có nhiều cạnh tranh hơn từ các ứng dụng web và AJAX/web. Tôi không thể nói nó được sử dụng trong các hệ thống đầu cuối, nhưng tôi đã thấy nhiều hơn ở đó so với tôi đã thấy C++, do đó, nó phụ thuộc vào loại lập trình bạn đang nói về (ví dụ như người dùng phải đối mặt với vs) hệ thống nội bộ).

0

C++ được ISV sử dụng nhiều. Hãy suy nghĩ về Microsoft, Adobe, Oracle, Sun, Symantec ...

6

C++ không ở bất cứ nơi nào gần chết, và theo đề xuất của người khác, đừng kết hôn với một ngôn ngữ. Nếu bạn đang học C++ về triển vọng công việc, tôi muốn đề nghị bạn chọn một đại diện của một mô hình lập trình.

  • C - lập trình Imperative
  • C++/Java/obj-C - OOP
  • Lisp/Haskell/Scheme - chức năng lập trình

Bắt điều chỉnh theo mô hình thường là khó hơn nhặt bản thân ngôn ngữ. Hy vọng những người khác sẽ kêu vang trong các đề xuất khác.

5

Lời khuyên của tôi, hãy tìm hiểu C#. Những ngày này gần 50% danh sách công việc là Java và gần 50% khác là C#, chỉ có một vài danh sách C++.

Điều đó nói rằng, những người sử dụng C++ biết lý do tại sao họ đang sử dụng nó và có thể có trường hợp sử dụng tốt cho nó ...có nghĩa là bạn sẽ thực sự học cách sử dụng ngôn ngữ ở mức cao nhất ... trong khi các công ty làm hỏng các ứng dụng logic nghiệp vụ trong Java/C# có thể sẽ không dạy bạn nhiều về lập trình nhanh chóng.

Nếu bạn quyết định thực hiện một công việc C++, hãy đảm bảo rằng cửa hàng sử dụng STL hiệu quả và họ đang sử dụng Boost. Không nhìn vào bằng cách sử dụng Boost/STL, nhưng thực sự sử dụng nó.

+1

... hoặc Qt. C++ một mình ngay cả với STL chỉ dành cho lập trình viên masochist Boost hoặc qt có thể tăng năng suất trong C++ nhiều lần so với STL trần. – mhd

2

Phần mềm đóng gói nhiều nhất vẫn được viết bằng C++. Điều đó có nghĩa là trò chơi, ứng dụng văn phòng, trình chỉnh sửa đồ họa và video và hệ điều hành. Trong thực tế, nếu bạn nghĩ về phần mềm bạn sử dụng hàng ngày không trực tuyến, rất có thể nó được viết bằng C++ (hoặc C hoặc mục tiêu-C). Nó không được viết bằng Java, Python, Ruby, Perl, vv Trong khi phần mềm đóng gói đang trở nên ít phổ biến, nó vẫn được sử dụng rất nhiều và không phải đi xa bất cứ lúc nào sớm.

Hệ điều hành, dù được nhúng hay cho máy tính để bàn hầu như được viết riêng bằng ngôn ngữ C. Nỗ lực đã được thực hiện để viết chúng trong Java hoặc C#, nhưng không ai trong số những người đã làm việc ra ngoài. Tất cả các trình điều khiển của bạn được viết bằng một số biến thể C là tốt. Tôi không thấy điều này thay đổi sớm.

0

Tôi phải cuộn hết cỡ xuống cuối để xem bài đăng đề cập đến trò chơi điện tử. C và C++ là rất lớn trong ngành công nghiệp đó.

Theo như "Câu hỏi tôi nên tìm hiểu". Đó là khá mở kết thúc, bạn muốn tìm hiểu càng nhiều càng tốt. Vì vậy, có, bạn nên tìm hiểu cả hai. Như một vài người đã nói, C# là một trong những tốt quá. Bạn cũng nên học Python, Ruby, hoặc PHP và một số khung công tác web (Rails, Symfony, Django, ASP.Net). Các ứng dụng web khá lớn trong những ngày này.

Nếu bong bóng của bạn chỉ bao gồm C++, bạn sẽ không thể tiếp thị được.

EDIT: Rất tiếc, tôi đoán trò chơi đã được đề cập nhiều hơn lần đầu tiên tôi thấy ở đây. Lỗi của tôi.

0

Ngành công nghiệp trò chơi trông giống như đi với C++ mãi mãi.

1

Tôi khuyên bạn nên học nhiều hơn một vài ngôn ngữ. Tôi làm việc trong ngành truyền thông và có, chúng tôi sử dụng C++, tuy nhiên rất nhiều dự án mà chúng tôi đang làm cũng đang trong Java.

tôi đề nghị bạn tìm hiểu về:

1) C++/C 2) Java 3) Erlang hoặc Haskel 4) của Ruby

Điều này sẽ giúp bạn hiểu các khái niệm tồn tại trong một ngôn ngữ nhưng không phải trong khác. Cũng giúp với thị trường.

Hãy xem qua số tiobe programming index và bạn sẽ có cảm giác về ngôn ngữ đang tăng lên.

0

Trong sự nghiệp của tôi, tôi đã phát triển C++ cho:

  • ứng dụng Server (ngành chứng khoán)
  • Phần mềm nhúng (viễn thông không dây)
  • phần mềm ứng dụng máy tính để bàn (viễn thông không dây)

Tôi cũng đã thấy rất nhiều quảng cáo cho các nhà phát triển C++ trong ngành công nghiệp quốc phòng. Có những công việc ngoài kia cho các nhà phát triển C++, không nhiều như đã từng có trong quá khứ, nhưng vẫn còn rất nhiều công việc.

Mặc dù tôi nói rằng sẽ không làm tổn thương khi học Java, nhưng đó là một kỹ năng tốt để có trong vành đai của bạn.

Các vấn đề liên quan