Python için C ++ hareket mıdır? ... Ya da başka bir dil?

oy
12

Çalıştığım şirket, biz dosya tabanlı işlem bir çok şey. sayısız biçimleri arasında dosya dönüştürme etrafında işleme merkezleri sayısız şirketlerinde birçok sistemlere uygun.

Işlem, çoğu zaman bir kapsar XMLsahne ve metin ayrıştırma, veritabanı aramaları, veri dönüşümü ve veri doğrulama bir çok içerebilir.

Şu anda tüm bu görevleri yerine programlar yazılır C++ve oldukça hızlı bir şekilde tek bir ortalama sunucuda gerçekleştirin. Ben daha yeni mezun programcıları aşina olması daha olası olduğunu bir daha modern dil kullanarak olanaklarını araştırıyorum. (Doğru bellek ayırma içinde C++için bu gün yeni programcılar bir sürü sorunlara neden olmaktadır görünüyor)

Bir dil böyle piton olarak gerekli işlevselliği ve performansı yanı sıra bellek ayırmayı (ve diğer çeşitli adresleme sağlayacaktır sağlanan kısa bilgilere dayanarak C++ilgili) ortaya çıkan sorunların?

Ben programları bir değişiklik yapmak her zaman derlemeye gerek duyulmayan bir fikir gibi. Ben yorumlanmış diller muhtemelen şu anda almak aynı performansı vurmak alışkanlık anlıyoruz.

Bizim sistemleri vardır Linuxda bazı seçenekleri kısıtlamak hangi tabanlı.

Işlevsellik ve kullanılabilir performansı hakkında herhangi bir yorum Pythonveya alternatif dillerin önerileri çok takdir edilecektir.

Oluştur 12/08/2008 saat 11:24
kaynak kullanıcı
Diğer dillerde...                            


13 cevaplar

oy
5

Python muhtemelen uygulamanızda kullanmak düşük seviyeli şeyler büyük ölçüde ortadan kaldıracaktır. Bellek ayırma artık bir sorun olmaz. Ayrıca, en azından benim üniversite öğrencileri formel şeyler her Başlamak için yazmak zorunda değilsiniz çünkü bir programlama dili olarak Python kucaklayan gibi görünüyor. Python olasılıkla bir derlenmiş C ++ programında kadar hızlı olmayacak Olarak Tek sorun, performans parçası olacak.

Ne düşünüyorsanız programlama dilleri tanımak için birkaç hafta sürebilir için tavsiye ederiz. Ayrıca Ruby kontrol ediyorum. Haskell ile Belki oyuncak etrafında biraz?

Anladığım kadarıyla Python de bahsettiğin şeyi başa çıkmak için donanımlı görünüyor. XML, veritabanı aramaları, doğrulama, ayrıştırma. O değil sırf kolay ve eğlenceli bir programlama deneyimi, genellikle güvenli bir seçimdir, ama takılıp eğer yardım etmek sevindin dile etrafında müthiş bir topluluk var.

Cevap 12/08/2008 saat 11:33
kaynak kullanıcı

oy
18

Ben programları bir değişiklik yapmak her zaman derlemeye gerek duyulmayan bir fikir gibi. Ben yorumlanmış diller muhtemelen şu anda almak aynı performansı vurmak alışkanlık anlıyoruz.

Bu en büyük sorundur; Eğer performans isabet ile yaşayabilir. Sen Python ve kullanımı deneyebilirsiniz geçerli C ile uzanan ++ modüllerini performansı ağır parçalar için. Tek nedeni C ++ yetenek eksikliği olduğundan hâlâ, bütün sisteminizi anahtarlama büyük çaba gibi görünüyor. C ++ ucuz seçenek gibi görünüyor biliyorum insanları işe.

Cevap 12/08/2008 saat 11:38
kaynak kullanıcı

oy
9

Hangi hızla programları işe alma veya hızlı çalışan programları almak daha önemli?

Eğer büyük dosyaların çok sayıda uğraşıyoruz o zaman C kalan ++ ve bir gösterici ne Mezun programcıları öğretim daha iyi olabilir (!)

Aksi takdirde şiddetle hızlandırmak için olduğunuzda bu geliştirme, çok daha hızlı böyledir, çünkü bir betik tabanlı bir çözüm bakmak olduğunu öneririm. Ve çok daha eğlenceli, biz en azından çoğu insan için, dürüst olursak.

Dosya IO neredeyse kesin bir derlenmiş (C) kütüphanesinde ele alınacaktır, bu nedenle tercüman havai nispeten düşük olabilir: başına rekor işlem yükü yüksek değilse, size kaybetmek ne kadar az performans şaşırabilirsiniz. Denemeye değer, ben öneririm.

zorunlu dillerin, Perl bariz seçenek, Python popüler ve Yakut (muhtemelen ilk ikisinden daha temiz bir OO özellikler), yüksek profile sahip olduğunu. Sonra fonksiyonel dillerden biraz daha, er, ezoterik bölge, ama o yorumlamak nitelikli değilim.

Cevap 12/08/2008 saat 11:52
kaynak kullanıcı

oy
4

Başka bir alternatif C ++ programında Python gömmek etmektir. Aynı uygulamanın çok tutmak ve sık sık değiştirmek veya komut dosyası dili sağladığı esneklik ihtiyacı parçaları Python dışarı arama yapmak olabilir.

Gönderen Python docs

Önceki bölümlerde buna C işlevleri bir kütüphane takarak Python işlevselliğini genişletmek için nasıl yani, Python uzatmak için nasıl ele alındı. İçinde Python gömerek C / C ++ uygulama zenginleştirmek: O çevresinde başka bir yol yapmak da mümkündür. Gömme Python yerine C veya C ++ başvurunuzun bazı işlevlerini uygulamak için yeteneği ile başvurunuzu sağlar. Bu, pek çok amaç için kullanılabilir; Bir örnek kullanıcıları Python bazı komut dosyaları yazarak kendi ihtiyaçlarına uygulamayı uyarlamak için izin olurdu. işlevlerinden bazılarını daha kolay Python ile yazılmış edilebilirse de kendiniz kullanabilirsiniz.

Cevap 12/08/2008 saat 13:34
kaynak kullanıcı

oy
0

Veya kodlanmış Kodunuzdaki içine bırakmak yerine bir veritabanı üzerinde ayrıştırma kurallarını saklamak için çalışmalısınız. As Ken Downs haklı alıntı, kod minimize verileri maksimize . Bu şekilde her bir minik kural değişikliklerini yeniden derlemek için gerek olmazdı.

Cevap 12/08/2008 saat 18:00
kaynak kullanıcı

oy
2

Bunu söylemekten nefret ediyorum ama bir şey istiyorum f gelen geliştiriciler, aşina Java ile gidecek söyledi. Java En son mezun en aşina olacak dildir. Hala derlemek zorunda, ama C ++ daha kısa olacaktır derleme kez. Hemen hemen başka hiçbir yerde Linux üzerinde çalışan ve edeceğiz. İyi bir çöp toplayıcısı var. Oldukça hızlı. Ve senin geliştiriciler onunla tanıdık gelecektir bahsetti mi? Hayır, Python gibi "cool" değil, ama bu çok denenmiş ve gerçek bir dil.

Doğrusu, sen C emmek gelen geliştiriciler bir sürü var şüphe ++ ama yine de Python ile harika olurdu. Python kullanan kişiler de manuel bellek yönetimi ile ince olma eğilimindedirler. Bellek yönetimi ile kötü insanlar aslında tüm diller ile kötü olma eğilimindedir.

Ben endişe verici sen Dilleri değiştirmek istediğiniz bellek yönetimi ile çok kötü geliştiriciler var olduğunu bulurum. Yani bir sorunu gösteren bir işarettir, ama sorun dil ile olduğundan emin değilim.

Cevap 12/08/2008 saat 18:10
kaynak kullanıcı

oy
0

Python, Ruby, Groovy veya Perl kullanarak paçayı Eğer vs C ++ bu üst düzey dillerden biri ile gidiş daha iyi olurdu. Verimlilik ölçüde artacaktır. Eğer o zaman Java ile gitmek daha performansa ihtiyacınız fark ederseniz. Herkes de biliyor ve en az bir dinamik olarak yazılan dil kullanmalıdır.

Cevap 08/09/2008 saat 01:43
kaynak kullanıcı

oy
0

Eğer c / c taşımak daha hızlı gerekirse, ağ tüm mümkün kılmak languange piton için hareket etmelidir ++

Cevap 22/09/2010 saat 11:51
kaynak kullanıcı

oy
1

Ben harika denemek için öneririm. XML desteği ince ve hem de veri doğrulama zor değil olması gerektiği gibi ayrıştırma olduğunu.

Ancak bazı insanlar göç parlak bir fikir olmayabilir dikkat çekti. Yeni programcılar sadece mevcut parçaları kopyalar hata eğilimli yeni kod yazmaya çalışıyorum yerine C ++ kütüphanesi kullanmak böylece "macher nesneler" ve "nesneleri doğrulayarak" içine ortak şeyler faktörü dışında deneyin olmaz mı?

Ayrıca modern bir dosya IO (iostreams) ve hafıza problemleri bir çok ile yardımcı olmalıdır C ++ IO gibi C kullandığınızdan emin amke.

Ayrıca yararlı olabilir artırmak kütüphaneleri isteyen.

Cevap 01/06/2011 saat 10:48
kaynak kullanıcı

oy
1

Python Performans çok büyük bir sorun olabilir. Ben bir kez görevlerin listesinde optimizasyon algoritması içeren bir program oluşturun. Ben o zaman, süper hızlı ve temiz yarattı, Python ile başlayan bir sonuç sağlamak için yaş alacaktır gördük. C ++ için satır satır Yeniden Yazma üzerinde sonuçlandı 100x hız iyileştirme ...

Gördüğünüz gibi Yani bazen% 5-10 performans kaybı meselesi değildir. Eğer ihtimaline karşı araştırmak gerekir (belki küçük bir test?).

Cevap 01/06/2011 saat 11:04
kaynak kullanıcı

oy
2

Eğer derlenmiş bir dil ile kaldıkları ince ise, C ++ ile kalmak ve kütüphaneler iyi bir dizi seçme önermek ve katı kalıpları doğru kullanımı ve bağlılık üzerine yenilere öğretirdi.

Eğer kütüphanelerin hoş bir set bulmak başarırsanız yenilere katı kod yazmak öğrenmek için, bu kolay olacaktır. bellek kolay ve güvenli taşıma yapar ve çalışmak keyifli çünkü benim (güncel) kişisel tercih Qt sınıf kütüphanesidir. Ayrıca, XML ayrıştırma ve nesil için destek sunuyor RegExp en yerleşik ağ yetenekleri, çapraz platform, ... ve ayrıca sigara GUI sistemleri için çok yararlıdır.

Benim için düz C ++, std kütüphane ve STL ile çalışan ve Qt gibi güçlü bir kütüphane ile çalışan arasında büyük bir fark var. Muhtemelen, boost hediyeler içine bakarak da çok yararlı olduğunu.

Cevap 01/06/2011 saat 11:06
kaynak kullanıcı

oy
0

yapıyorsun projenin doğası bile böyle bir hamleyi düşünmek izin verirse, o zaman (bazı ipucu varsayılarak) taşırım. Birçok C ++ projelerde Ancak, tek seçeneğiniz taşınıyor aşağı (C veya Meclise örneğin) bir ya da iki soyutlama düzeylerini.

Cevap 01/06/2011 saat 11:13
kaynak kullanıcı

oy
0

Ben, sen C ++ sopa ile gereken başkaları ile katılıyorum. olmayan bir derlenmiş dile geçiş geriye bir adımdır. Birçok programcı sorun (örneğin işaretçiler gibi) dilin zahmetli yönlerinden bazıları ile uğraşan sahip olsa da, en azından en programers bazı C ++ maruz kalmıştır. Ben size kod temeli ve ziyade dil değişikliği programcıları iyileştirilmesi zaman ve para harcamak öneriyoruz.

Diğer diller için olduğu gibi, GO lang göz tutmak isteyebilirsiniz. Bir arkadaşım oldukça yaygın olarak kullanılır. Modern derlenmiş bir dil. Bu açık, kısa ve çağdaş olma eğilimindedir. GO uygulamalar genellikle C ++ ile yazılmış kıyaslanabilir hızlarda çalıştırmak ve web ile iyi arabirimleri. Bu noktada çok olgun değil ama umut verici görünüyor.

İyi şanslar!

Cevap 05/06/2012 saat 23:57
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more