Bir web geliştiricisi olarak, bana programlama dili C öğrenme değer mi? Şimdiye kadar bunu kullanmak gerekir? Şu anda Ruby on PHP ve Ruby kullanıyorum.
Öncelikle, tanımlamak zorunda "web geliştirici." Web siteleri ya da web tabanlı yazılım bina var mı? Hem bu görevleri kolayca kategori altında iken "web geliştirme," onlar bunu başarılı olmak için gereken set beceri açısından biraz farklıdır.
Sen arka plan işleme içine çalıştırın ve "adil" bir web sitesi ve böylece C gibi düşük seviyeli bir dil kullanarak olasılığını artırarak daha fazla yazılım ile / işletim sistemi etkileşimini dosya daha olasıdır
Hiç onu kullanacak söyledikten sonra? Sanmam. Yüksek seviyeli dilleri web geliştirme mücadele için onlarca tarafından getirilmiştir. Eğer C başvurmak yaşıyorsanız eğer daha uygun dilde gerekli becerileri yok, çünkü bir görüş web geliştirme açısından bakıldığında, en çok olasıdır. Siteleri ve PHP ve Rails iyi çalıştırmak değişen boyutlarda yazılım çözümleri büyük miktarda hatırlıyorum.
Bu öğrenme değer mi? Belki. Eğer web geliştirme becerilerini tamamlamak hardcore programlama becerileri gerekir ve yedek zaman var gibi hissediyorum; bunun için gidin. Değil, yok. Muhtemelen yerine Ruby / Rails gerçekten iyi daha iyi alıyorsanız.
Aslında güvenilir bir şekilde çalışmak için C programlarını almanın sonsuz sana acı PHP yazılım yazmak için daha uygar bir şekilde neden hakkında çok şey öğretecektir.
Ve evet, sonunda onu kullanacağız.
Bir gün PHP veya Ruby yakışmayan bir sorun rastlamak edeceğiz. Eğer başka millet daha fazla şey biliyor çünkü C geri düşmek ve bir kahraman gibi bakmak mümkün olacak.
Joel Spolsky C öğrenmek için bilgisayar bilimi öğrencileri çağrısı:
"Advice for Computer Science College Students" (Ocak 2005)
Ben çok yararlı bir web geliştirici olarak C'yi bilen bulduk. Örneğin, ben yazdım, bir web uygulaması bir fotoğraf galerisi içerir. Bu gerçek görüntüler göstermeden önce kullanıcının izinlerini kontrol edebilirsiniz böylece webroot dışında fotoğrafları saklar.
Sonunda, görüntü minik dolu bir sayfa görüntülemek için havai PHP web uygulaması kullanarak inanılmaz derecede yüksek olduğunu keşfetti. Yani, hemen hemen hiçbir şey yükü azaltılmış bir cgi programı olarak C gerçek fotoğraf ekran kodu yazdım.
Gerçekten değil. Eğer bir şey, eğlenceli olduğu için C öğrenmek ve sistem iç hakkında daha fazla bilgi yardımcı olmak için büyük bir dildir. Web geliştirme üzerinde çalışan çok üst düzey olduğunu ve gerçekten sistemi ile derinlemesine almak çok şans almazsınız. C kullanarak daha iyi talimatları düşük bir seviyede, ne kadar bellek yönetimi işleri yürütülür nasıl anlamanıza yardımcı olabilir, ve PHP / Ruby yerleşik olması bir çok şey oluşturmak için nasıl
Diğerleri de belirtildiği gibi C kullanamazsınız, ancak bilgisayar ve bilgisayar bilimleri ile ilgili önemli kavramlardan hala bir dizi vardır. Bazı anlayışlar Kernighan ve Ritchie tarafından, C Programlama Dili gibi klasik metinlerden elde edilebilir.
Bu içerir
Kısa bir belgede bir dil açıklayan çok iyi bir dokümantasyon ve yazma stili örneği. Sen tam bir dil 100 sayfaları çok daha fazla değil bir kitapta açıklanmıştır olduğunu göreceksiniz. Bir dil öğretimi olarak hangi pozisyon kendilerini bugün satılan kitapların bazı mezarlar ile karşılaştırın ve henüz genellikle rehashed API kitaplarına daha vardır.
Işaretçileri, bellek yönetimi, diziler ve karakter dizinleri anlama. Çekirdekli bilgisayar konular ile aynı hizada tüm iyi bilgi; düşük seviyede, ancak profesyonel bir programcı için bir bilgi layık parça da olsa.
Onun kolay hızlı bir referans kitabı. Yine kaldırırken bir kol kırmak ve henüz ondan bir çok bilgi elde değildir.
Eğer gerçekten makineye yakın olsun ya da bir C-API kullanımı yoluyla bir dil uzatmak için ihtiyacımız var Genel olarak C bu durumlar için yararlıdır.
(Woo, tekrar ve!) Sürece C Python gidiyor gibi, benim kendi deneyimlerinden Konuşma: Evet - bunu öğrenmek.
Zaten yoksa, temel, düşük seviye veri yapılarını öğrenmek; Onları iyi öğrenirler.
Gerçekten bir HTTP post kene kılan öğrenin, belki de kendiniz ve diğerleri için bazı düşük seviyeli hata ayıklama araçları yazmak. Eğer bir apache modülü yazabilirsiniz zaman, web geliştirme nasıl alabilirim "başlık altında" de inanılmaz. (Huzzah, kova tugay!)
Içinde ve belki dışarı setjmp / longjmp ait, ve istisna işleme daha iyi bir anlayış ile çıkıp öğrenin - bu, gerçekten başlık altında nasıl çalıştığını - yüksek düzey dilde.
Kendinizi web geliştirme için C kod satırı yazmadan, ama dili iyi öğrenmek eğer, hepiniz aynı, kendinizi bir kenar vermek olacak bulmak asla olabilir. Sadece onunla da ayak kesmek için değil emin olun. (:
Muhtemelen kullanmak zorunda kalmazsınız, böylece sadece "kullanılabilirlik" nişan eğer sadece bunu unutursunuz. Ancak, C öğrenme programlama temelleri üzerinde bir kavrayışa almak için iyi bir yoldur. Muhtemelen ücretsiz PHP ve RoR çok daha derin bir anlayış elde edersiniz.
Eğer dillerde kendinizden emin değilseniz genellikle böcek, hayır - bu ;) fiyat değer değil.
Artık C kullanmayın rağmen, ben yararlı their dilinde diğer programcılar konuşmak mümkün buluyorum. Belirli bir sorunu kendiniz çözmek için uzmanlığa sahip olmayabilir, ama olabilir birisiyle akıllıca konuşabilirsiniz.
Aynı elbette, diğer tarafa gider.
Ve, yukarıda belirttiğimiz gibi, C ondan sonra geldi hemen her dilin temelidir.
Onun her zaman iyi zaten Ruby ve Rails çerçevesini kullanarak bu yana, yeni bir dil öğrenmek için. Ruby betik dili hakkında derinlemesine öğrenmeye çalışırken Matz Ruby Interpreter or MRI is written in C . And also most of the Web servers strong> C ve C + + programlama dilinde yazılmış olduğundan C programlama hakkında bilgi, kullanışlı gelecektir.
Web Sunucuları nasıl çalıştığını bir fikir var sonra, bir ölçeklenebilir uygulamalar oluştururken bir kenar var, ve ayrıca mümkün size uygulaması dağıtma yukarıda Web Sunucuları artı ve eksi analiz edecektir.
:) .... "Herhangi bir programlama dili ile ve Kariyer zaman herhangi bir noktada Usta olabilir tüm Jack Be"
Daha fazla dil öğrenmek her zaman iyi bir fikirdir. C çünkü ton dillerin, büyük resmi ya da gayri resmi buna dayalı ve sadece yardımcı olabilecek bir alt düzeyde ne olduğunu bilmek vardır.
OTOH, gerçekten bilginizi ilerletmek için, ben mümkün olduğunca bildiklerini itibaren büyük ölçüde farklı bir dil öğrenme öneririm - Erlang, LISP, Haskell, Smalltalk ...
Ben bu şekilde koymak gerekir. C fındık. Insanlar tamamen nesne yönelimli şekilde düşündüm önce bir süre yazılmış. Bu sizin dışarı bok boşa çıkarmak olacaktır. Onun sert şeyleri şimdi bunları bilmek şekilde öğrenme SONRA anlamak için.
Ama her şey nasıl çalıştığını anlamak son derece yararlı olduğunu. En modern diller devralan ya da ona (sözdizimi, veri yapıları, vb) üzerine inşa edilmiştir çünkü diğer dillere geçiş yardımcı olmak için büyük bir dildir.
Ayrıca, Ruby / Rails ve PHP hem destekleyen kütüphanelerin bir sürü bu dil için yazılmış C C'deki ağır dayanır. Onun çılgın derlenmiş ve bir oluyor hızlı çünkü biraz alt düzey, PHP veya Ruby / Rails ya daha çok daha küçük bir API var.
Ben kesinlikle bile onun sadece yeni bir dil öğrenmenin eğlenceli, bunu öğrenme öneriyoruz. Benim prof hep bana: "Bana bir kılavuzunu ve üzerinde çalışmaya değer bir proje verebilir, ve ben herhangi bir dili öğrenmek istersen." Eğer bu iki şey bulabilirsiniz eğer öyleyse, bunun için gitmek!
I say, I say, I say: Yes... but just a bit.
Sadece en azından bazı çok temel: dizeleri, işaretçi manipülasyon ...
Even if you never actually use it, you'll get much better understanding about performance issues in higher lever languages. Consider strings we're working with all the time: links are hard by Joel Spolsky
Dil öğrenme asla kötü bir şey değildir. Ama bir web geliştiricisi olarak ben zaman daha başka bir teknoloji üzerinde bileme harcanan olacağını düşünüyorum. Ben bir kaçıyla Raylar ve Java dalmıştır, ama gerçekten as a web developer, Tüm Django, google app motor, javascript, silverlight, flaş üzerinde olurdu yeni bir şey öğrenmek istedim düşünüyorum ... ve ettik Diğer teknolojilerin ben bile c düşündüm önce.
Benim düşünceme göre, C öğrenme, bir bilgisayar üzerinde çalışan yazılım yazıyor birisi için antropoloji ya da edebi bir bilim bilim adamı için Latince ve Yunanca öğrenmek gibidir.
Bugün yazılım geliştirme elde edilmiştir çalışmalarının önemli bir vücut C yapılmıştır ve bu gerçekten öğrenmek istediğim şudur: C yazılım yazma konusunda çok fazla değil, bunu anlamak mümkün olmakla ilgili. Her ikisi de ne mümkündür ve ne yapılmıştır. Vardı her şey geliyor ve de neden biz birçok alanda daha fazla ve daha uzağa C hareket ediyor.
Mutlu sırasında parçalama arızası! ;-)
C öğrenme fırsat maliyeti yüksek - yerine pratik bir şeyler öğrenebilir.
Ruby ve Ruby on Rails, Python çalışır ve Django nasıl çalıştığını, C # ve nasıl anlamaya: Eğer bir web geliştiricisi ve biri olmaya devam etmek isterseniz sizin alana daha uygulanabilir bir şey öğrenmek için, muhtemelen daha mantıklı olur MSFT MVC çalışır. Veya Flex. Veya JavaScript ve Mootools / JQuery.
Eğer C öğrenme üzerinden temel bilgisayar bilimleri kavramları bir sürü alabilirsiniz iken, muhtemelen dokunmak zorunda kalmayacaksınız. Eğer yaparsanız, o zaman öğreneceksiniz zaman /.
Eğer bilgisayar bilimi (sadece biraz daha düşük seviyeli bir programlama) öğrenmek isterseniz, Project Euler deneyin ya da bazı algoritmalar, işletim sistemleri, vb edebiyat olabilir.