Ben (Ubuntu sunucu 8,04 TLS çalıştıran) benim sunucuda bazı görevleri yürütmek için bazı komut dosyaları yazmak gerekir. Görevler periyodik olarak çalıştırmak için, bu yüzden cron işleri gibi komut çalışıyor olacak.
Ben "Grup A" ve "B grubu" olarak görevleri bölünmüş - (aklımda en azından), onlar biraz farklı çünkü.
Task Group A
muhtemelen bir dosya ve ithalat verileri yeniden biçimlendirmek - biçimlendirerek, ben, verileri santizing muhtemelen onu normalleştirilmesi ve veya verilerin 'sütunlarında' üzerinde hesaplamalar koşma gibi şeyler yapıyor demek
Bir veritabanına munged verileri alın. Şimdilik, çoğunlukla ithalatın büyük çoğunluğu için mySQL kullanıyorum - Bazı dosyalar SQLLite veritabanına ithal edilecektir rağmen.
Not: dosyaları çoğunlukla metin dosyaları olacak, bazı dosyalar (I geliştirilmiş bir C + + uygulama tarafından yazılan kendi mülkiyet biçimi) bir ikili formatta olmasına rağmen.
Task Group B
- Veritabanından veri ayıklamak
- Veritabanında veri ve ekleme veya güncelleştirme ya tablolarda hesaplamalar gerçekleştirin.
Benim kodlama deneyim ben son 2 yıl ya da öylesine (+ bu sorunun amacıyla ilgili olmayan birkaç diğer dillerde) için de PHP kullanıyor olmasına rağmen, öncelikle bir C / C + + geliştiricisi olarak olmasıdır. Ben hala linux ortamında ayaklarım bulma kulüpler bu yüzden bir pencere arka plan duyuyorum.
Benim soru bu - Ben yukarıda açıklanan görevleri gerçekleştirmek için komut yazmak gerekir. Ben kabuk komut kullanılmak üzere birkaç C + + uygulamaları yazabilirsiniz varsayalım rağmen, (belki bu bir kusurlu varsayım nedir?) Bir betik dili olarak bunları yazmak daha iyi olabilir düşünüyorum. Işlevsellik değişiklikleri vb yeniden inşa etmek gerek - Benim düşünce bir komut şeyleri değiştirmek için daha kolay olurdu olduğunu. Ayrıca, C + + vb Perl, Python gibi "doğal" betik dilleri daha kod daha fazla satır içeren eğilimi içinde munging C + + veri
Burada insanların çoğunluğu betik gitmek için yol olduğunu kabul ettiğini varsayarak, burada benim ikilem yatıyor. Hangi betik dili (benim arka plan vererek) Yukarıdaki görevleri gerçekleştirmek için kullanılacak.
Benim gut içgüdüsü Perl (shudder) Yukarıdaki tüm görevleri gerçekleştirmek için en belirgin seçim olacağını söylüyor. BUT (ve bu büyük bir ama). Perl sadece söz ben Perl Deve kitabı yıllar önce + 'Perl ile munging veri' aldım (bir süre önce onunla çok, çok kötü bir deneyim oldu gibi, benim ayak curl yapar, ama yine de sadece 'grok' değil çok yabancı hissettim sözdizimi bana oldukça doğal görünüyor -. onu öğrenmek denedim kaç kere rağmen - bu nedenle eğer mümkünse, ben gerçekten o bir bayan (ben zaten biliyorum) PHP vermek istiyorum, aynı zamanda emin değilim. CLI komut dosyası için iyi bir aday (- bu yüzden yanlış olabilir ben bu vb yapmak konusunda birçok örnekler görmedim).
Ben belirtmek zorundadır son şey bunu yapmak için yeni bir dil öğrenmek zorunda IF, ben (bunu yapmak için gerekli tuş komutları / özelliklerini öğrenme, bir gün daha fazla harcama için (zaman kısıtlaması) göze alamaz olmasıdır Aslında komut dağıtmış sonra hep), daha sonra dilin ayrıntılarını öğrenebilirsiniz.
Ve en önemlisi NEDEN - Yani, hangi betik dili ([Burada favori insert] PHP, Python, Perl,) önerebilirim?. Ya da, ben sadece bir kabuk çağırın az C + + uygulamaları yazma ayrılmamak gerekir?.
Eğer bir betik dili önerdi eğer Son olarak, bir BİRKAÇ hatları ile gösterebilir misiniz (Perl tacirleri - Ben senin yönde arıyorum [çok gizli bir şey!] ;)) Ne yapmam için size önerilen dil kullanımı nasıl yapmaya çalışıyorum yani
- Bir CSV veri manipülasyonu için kolayca veri sütunları erişebilirsiniz veri yapısının bir tür içine dosya yüklenemedi
- mySQL tabloya sütunlu veri dökümü
- sütun / satır betik dili olarak erişilebilir olanak veren bir veri yapısı içine mySQL tablodan veri yükleme
Yanı sıra o, sade, şık ve verimli (umarım bu iki kriter [zerafet ve sığ bir öğrenme eğrisi] dik değil bu - - Yine şüpheli Umarım, parçacıkları beni çabuk benim için dik bir öğrenme eğrisi teşkil edecek dilleri nokta sağlayacak onlar) olabilir.