it-swarm-tr.com

Bugün C ++ 'ın rolü nedir?

Şu anda bir BT öğrencisiyim ve bugün C++ 'da hala neyin önemli olduğunu merak ediyorum, ne için kullanılıyor? Üniversitemde temel C++ kursunu tamamladım, ancak bilgimi nerede kullanabileceğimi ve C++ öğrenmeye hangi yönde gitmem gerektiğini hayal edemiyorum.

Başka bir deyişle, başarılı bir C++ programcısı olmak için ne öğrenmeliyim?

Şu anda Java sadece C++ bugün hangi alanda yararlı olabilir açıkça göremiyorum çünkü öğreniyorum, ama açıkça ne tür bir iş yapacağız biliyorum Java programcı. Ama umarım C++ ölmedi.

41
hades

C++ 'ın katil özelliği kapsama bağlı kaynak yönetimi, SBRM (daha yaygın olarak " RAII " olarak bilinir). Bu kavram üzerine inşa edilen sadece endüstriyel programlama dilidir. C++ 'da, tüm nesnelerin yaşam süreleri tam olarak bilinir ve (iyi yazılmış) C++ programları, kaynakların tam olarak deterministik bir şekilde edinilmesini ve yayınlanmasını garanti eder. Buna karşılık, çöp toplanmış veya başka şekilde yönetilen diller bu tür garantiler sağlamaz; aslında bu dillerdeki nesneler kullanım ömürlerinin bitiminden sonra da devam edebilir.

Bu nedenle C++ finans, video oyunları, yüksek performanslı gömülü ve gerçek zamanlı sistemler, ulaşım, üretim ve determinizm ve hassasiyetin önemli olduğu diğer sektörlerde kullanılmaktadır. Alternatif yok.

Verilmiş, bundan çok daha fazla görev için kullanıldı ve bu görevler C # ve Python ve diğer daha uygun diller için kayboluyor, ancak bu temel nişini etkilemiyor.

57
Cubbi

C ve C++ için birkaç pazar var (sınırlı da olsa benim için)

  1. Mevcut kod. C ve C++ mevcut en büyük kod tabanlarından bazılarına sahiptir. "Bir sonraki sıcak yeni dil" ortaya çıktığı için bu boyuttaki kodlar atılamaz. C bağlamaları çoğu platformda diller arası etkileşimin standardıdır, bu nedenle C veya C++ 'da sarıcı kitaplıklarını (en azından) yazabilmek yararlıdır.
  2. Yüksek performanslı uygulamalar (örn. Yüksek frekans finansmanı). C ve C++, diğer programlama dillerinden daha iyi bir genel performansa sahiptir. En önemlisi C++ 'da, genellikle hesaplamaları çalışma zamanından derleme zamanına (genel uygulamanızı daha hızlı hale getiren) şablonlar gibi yalnızca derleyici öğelerle soyutlamalar oluşturur.
  3. (2'ye benzer) Düşük gecikme uygulamaları. Çalışan diller ör. CLR veya JVM, uygulamaya bağlı olarak genellikle C++ kadar hızlı olabilir, ancak programınızın yürütülebilmesi için hala CLR veya JVM'nin kendilerini belleğe yüklemesi gerekir. Zor başlangıç ​​gereksinimleriniz varsa bu önemlidir. YORUMDAN DÜZENLE: Bu nedenle, herhangi bir açıklamanın zor gecikme gereksinimleri burada belirtilmiştir. Sanal makinelerde çalışan diller, örneğin; çöp toplama belirleyici bir süreç değildir.
  4. Gömülü sistemler. Bazı gömülü sistemlerde, örneğin çalışacak donanım bulunur. JVM (Google'ın Android (Tamam, gerçekten JVM değil, yakın), RIM'in Blackberry) veya CLR (Windows Phone), ancak çoğu gömülü sistem C veya C++ için gerekli olandan daha fazla çalışma zamanı desteği gerektiren dilleri çalıştırın (hiç çalışma zamanı desteği yoktur).
  5. Dağıtım kısıtlı uygulamalar. Tüm programınız yalnızca birkaç yüz KB ise, bazen JVM veya CLR'nin yüklenmesi gerekir. (Örneğin, üzerinde çalıştığım programların çoğu tek bir .EXE herhangi bir yükleyici veya benzeri bir şey olmadan dosya; bunun için alternatif yok)
40
Billy ONeal

C++ hala çok kullanışlıdır ve hiçbir şekilde ölü değildir. Bazı farklı programlama dilleri arasında ciddi bir karşılaştırma yapmak istiyorsanız makaleyi kontrol edin C, C++, Java, Perl, Python, Rexx ve Tcl'nin ampirik bir karşılaştırması . En güncel değil ama çoğu şeyin hala geçerli olduğuna inanıyorum.

3
sakisk