it-swarm.asia

İnsanlar neden programlama kitapları kullanıyor?

Birisi nasıl programlanacağını öğrenmenin en iyi yolunun ne olduğunu sorduğunda, insanların genellikle çeşitli yazarlar tarafından yazılmış bir demet metinlere referans verdiğini görüyorum.

Ancak pek çok insanın kitaplardan programlamayı öğrendiğine inanmıyorum. Ben genellikle bir meydan okuma ile karşı karşıya olduğunu bulmak ve sonra bunun üstesinden gelmek için bir araç olarak programlama kullanın.

Örneğin, programlamaya başladım çünkü oynadığım bir oyun için bir sunucu başlatmak istedim, bu yüzden o belirli sunucunun desteğini araştırdım ve okudum ve şimdi sadece geliştirdiğim becerileri kullanarak çalışan bir yazılım mühendisiyim ( ve sonra daha da geliştirildi) çok popüler olmayan bir sunucu paketi için C # komut dosyalarını kodlayarak.

Benim sorum şu, insanlar genellikle bu kitaplardan öğrenmeyi daha kolay buluyor mu? Birkaç tanesine baktığımı ve bitirmemi teşvik etmek için onları çok 'kuru' bulduğumu biliyorum.

94

Genel olarak konuşarak şu şekilde öğreniyorum:

  • Bir kitap satın al
  • Örtmek için kapağı okumayın ama her şeyin nerede bulunabileceğini bilin
  • Üzerinde çalışılacak bir evcil hayvan projesi bulun
  • Deneyimden ders alın, ancak kitabı referans olarak kullanın
  • Kitabın başarısız olduğu yerde her zaman google vardır

Not: Üçüncü nokta bazen önce gelir.

Düzenle: "Neden?" Sorusunu cevaplamak için

Google, bir şeyi nasıl yapacağınızı öğrenmek için harika, ancak bilmediğiniz şeyleri bulmak için harika değil. C # delegelerinin delege denen bir kavramı olduğunu ve üzerinde çalıştığınız bir sorunu çözmenin yararlı olabileceğini ilk önce bilmediyseniz neden "C # delegeleri" google'da aradınız?

Ayrıca, sinyal-gürültü oranı bazen biraz yüksek olabilir. Kafanızda bir şeyin nasıl yapıldığına dair kaba bir fikriniz varsa, okuduğunuz makalenin doğru olup olmadığını kolayca doğrulayabilirsiniz. Ama ipucun yoksa ... daha büyük bir karmaşaya yol açabilirsin.

229
pdr

Kitapların hala alakalı olmasının bazı nedenleri:

  1. Kağıt üzerinde çok fazla metin okumayı standart LCD ekranından daha kolay buluyorum, belki bir e-mürekkep ekranındaki e-kitaplar bunu değiştirecektir).
  2. Kitap, büyük resmi ve bazı iyi uygulamaları tanımlama eğilimindedir, bu da hızlı bir başlangıç ​​veya yeni bir görünüme ihtiyacınız olduğunda gerçekten iyidir.
  3. Belirli bir konuda örneklere ihtiyacınız olduğunda Google gerçekten iyi, ancak büyük resim için değil.

Ama bir kitap sizi asla sonuna kadar götürmez, sadece doğru yönde iter.

42
Johan

1980'lerin kitaplarında, bir bütün olarak bir programlama dilini tamamen öğrenmek için az ya da çok bilgi kaynağının bulunduğu programlamayı öğrendiğimde. Buna ek olarak bilgisayar dergileri satın alabilirsiniz, ancak içerikleri ilginç ve yararlı olabilecek rastgele makalelerdi.

Günümüzde ihtiyacınız olan tüm bilgileri internette bulabilirsiniz. Tam bir öğreticiyi bir kitaba benzer gibi görünsem de.

Nasıl öğrendiğiniz kişisel tercihlerinize veya gerçek ihtiyaçlara bağlı olabilir.

Bir kitap veya çevrimiçi öğretici ise "tam metin" in avantajı, aslında gerekli olmasa da size daha sonra yardımcı olacak materyalleri kapsaması olacaktır. Sadece bir şeyin mümkün olduğunu bilmek ve onu nerede bulacağınızı bilmek. Özellikle karmaşık bir ortam veya C++ gibi çok karmaşık bir dil öğrenirseniz. Ruby = Rails) hakkında hiç bir şey duymadan Ajax veya güvenlik konuları hakkında birçok küçük blog okuyabilirsiniz. oyun oynamak, bu bir sorun olmayabilir.Ancak benim başıma geldiğinde, profesyonel Ruby on Rails geliştirme birkaç hafta içinde, tüm önemli noktaları kapsayan bir metinle çalışmak çok yardımcı olacaktır.

Diğer kitaplar, programlama stili, en iyi uygulamalar, tasarım modelleri veya belirli algoritma grupları hakkındaki ayrıntıları kapsar. Onlarla çalışabilirsiniz ve belki de tüm tasarım desenlerinden sadece çok küçük bir altküme uygulayacaksınız. Yine de, onları tanımak ve nerede bulacağınızı bilmek faydalıdır. Ve bu sadece düşünce süreçlerinizi "bir şekilde yürütmek" yerine "bir çözüm oluşturmak" ile daha fazla ilgileneceğiniz bir yönde eğitmenin bir yoludur.

Şahsen okumayı seviyorum, bu yüzden kitapların kuru olduğu hissine sahip değilim. Elbette önemli olmasına rağmen, kitabın gerçek bilgi seviyenizde veya ötesinde olması. C # ile ilgili tüm temel bilgilere zaten hakim olduysanız, yeni başlayanlar kitabını okumak pek mantıklı değildir.

28
thorsten müller

Bir kitap (veya kitap gibi yapılandırılmış web belgeleri) hala çoğu dili öğrenmenin tercih edilen yoludur.

Sadece bir dile girip kendiniz için bir şeyler bulursanız, iyi bir kitabın size doğru zamanda teslim edeceği önemli yönleri kaçırmanız muhtemeldir.

Örneğin, bazı meslektaşlarım Java kitap olmadan dalarak öğrendiler. Java, birkaç yıl boyunca, diziyi bir String'e dönüştürerek, .substring () kullanarak ve sonra String'i tekrar bir diziye dönüştürerek bayt [] dizilerini rutin olarak manipüle eder. Java In Kısaca

Umarım öğrenmenin bir öğretmenle tek başına olduğundan daha kolay olduğunu bilirsiniz. İyi bir kitap, iyi bir öğretmen için ucuz bir alternatiftir. Kavramları dikkatlice planlanmış bir sırayla tanıtacaktır, böylece sadece anlaşılması için yeterli değil, kapsamlı bir anlayış oluşturabilirsiniz.

22
slim

Sanırım bir şeylerin üzerinde olabilirsiniz. En azından benim için, becerilerimin çoğu "X" yapan bir program istemek/buna ihtiyaç duymaktan geldi.

Belki bu şekilde öğrenen insanlar yardım istemiyordur; bunu yapmak için çok meşguller (zayıf, ama yol boyunca öğrenmek). Programcı olmak isteyen insanlar (bu ilk gruba gösterildiği gibi), bir programcı olmak veya nasıl programlanmaları gerektiği konusunda çok fazla soru soruyorlar, ancak çözmek için bir problemleri olmasa da bunlar değil doğrudan cevaplı sorular.

Ve böylece kitaplara göz atıyoruz. "Ah evet, 'Python'a Dalış' ın bir kopyasını al." "Böyle mi öğrendin?" "Hayır" "Hımm ..." "Meşgulüm ama sıkışıp kalmana yardım edeceğim" "Ah ... Tamam, sanırım"

Öte yandan, öğrenirken iyi okuma materyallerine çok değer veriyorum, böylece çözmeye çalıştığım sorunun daha yetenekli bir yazar tarafından nasıl çözüldüğünü görebiliyorum, ya da belki biraz öğrenebiliyorum "acemi" teknikler yol boyunca almak olmayabilir.

TLDR : Kitaplar iyi, yaparak öğrenme iyidir, kitap yaparak öğrenme ???

Teknik kitap okumayı çok seviyorum. Tüm teknik kitaplar değil, sadece ilgilendiğim belirli bir konu hakkındaki kitaplar Sharepoint. Gerçekten okuduğum ilk kitabı (birden çok kez) hatırlıyorum, Charles Petzold tarafından Windows Programlama. Bu ve diğerleri nedeniyle, bir Win32 uygulamasını bellekten yazabildim. Bir API aramaya neredeyse hiç gerek duymadım, bunun yerine iş bölümüne odaklanabildim.

Kitapların, belki de benden daha iyi bir şey yapmanın doğru yolunu bilen biri tarafından, bir şeyler yapmak için "otoriter" bir yol sağladığını hissediyorum. Öğrendiğim şeyin olduğuna inanıyorum, söylemeye cesaret et, sorunumu çözmenin en iyi yolu. Tabii ki, yazar güvenirseniz (Amazon değerlendirme alanı seviyorum).

Kendimi şimdi daha fazla "googling" buluyor ve bir sorunu çözmeye çalıştığımda kopyalayıp yapıştırmama rağmen, kopyaladığım (veya ilham aldığım :) 'nın güvenilir bir şey olduğundan emin olmak için iyi bir zaman harcıyorum kodumu koyabilirim. Web'de bir çözüm bulduğum için, bunun en iyisi olması gerekmez.

Diğer pek çok programcı gibi, şimdi de cevapları google'da görsem de, kendimi hala bilinen yazarlardan kitaplar alırken buluyorum. İçeriğin bana açıklamak (öğretmek) konusunda iyi biri tarafından getirildiğini hissediyorum ve tüm önemsiz şeyleri Google sonuçlarımdan filtrelemekten kurtarıyor.

15
Eddie Paz

Sorunuzun "neden eski sayfaları HTML sayfaları yerine basılı kitap gibi kullandığınız" değil, "neden bir veya birkaç yazar tarafından yazılmış programlama hakkında daha uzun metinler okuduğunuzu" ifade ettiğini varsayıyorum.

Kitapları belirli bir konu hakkında yapılandırılmış bir bilgi toplama olarak düşünebilirsiniz. Konunun anlaşılmasını kolaylaştırmak için birisinin her bölümü birbirinin üzerine inşa etme çabası göstermesi avantajına sahiptir. Genellikle, bilgilerin sınırlarının ne olduğu da (başka bir yerde dikkat etmeniz gereken başka ne var ve ne olduğu) size söylenir. Okuduktan ve onunla çalıştıktan sonra, belirli bir beceri kazandığınızdan emin olabilirsiniz. Basılan hızlı ileri sarma düğmesi ile öğrenmek istiyorsanız, bir kitap sizi en azından kitabın yapısına güveniyorsanız, sıkıcı parçaları atlamadan her yönden çalışmaya zorlayabilir. "Kitap" adlı koleksiyon çoğu zaman referans olarak da yararlıdır.

İnterneti kullanmak, bloglar, "etrafta dolaşmak", vb. Genellikle yapılandırılmamış bilgi türüne girer. Bir sürü bit ve bilgelik parçaları elde edersiniz, ancak bilginizi geliştirmek için daha fazla arama çalışması yapmanız gerekir, çünkü kimse size "önce bunu öğrenin ya da bu şeylerin değerini görmeyeceksiniz" şimdi googled ". Bazı parçaları çok sıkıcı olabilirsiniz çünkü çok sıkıcıdırlar ya da kimse size önemli olduklarını söylememiştir. Bazı şeyleri yanlış öğrenebilirsiniz, çünkü internette yazılan her şey birinci kalite değildir. Yararsız arama sonuçlarını filtrelemek için çok zaman harcayabilirsiniz. Belirli bir tasarım desenini veya programlama yapısını bilmediğiniz ve size kimsenin söylemediği için kendi başınıza bir şey yapmaya çalışarak günlerinizi boşa harcayabilirsiniz. Ne kadar az bilirseniz, yapılandırılmamış bilgiler IMHO ile o kadar kötü olur.

Biraz kışkırtıcı: Bir köprü inşaatı veya yapısal analiz hakkında hiç bir kitap okumadığını ama sadece etrafta dolaşarak ve Google'ı kullanarak öğrendiğini söylerse, her gün geçmem gereken bir köprü inşa etmesi için bir mimara asla güvenmem. ...

14
Ray

Bir C programcısıysanız, Python kitap veya öğretmen olmadan nasıl öğrenmeyi umuyorsunuz?

Sadece temel sözdizimini öğrenir ve dalış yaparsanız, Python'da C kodu yazmanız gerekir ve Python gibi ayrıntılı bir sonuca varırsınız) ve C kadar acı verici.

Google genellikle yalnızca küçük kod snippet'lerini veya açık kaynaklı kitaplıkları bulmak için iyidir. Bazı kütüphaneler/programlar için dokümantasyon en iyi şekilde güvenilir değildir (varsa, yalnızca basit veya yaygın örnekleri gösterir.)

Çok fazla programlama kitabım yok, ama şu anda size OpenGL hakkında bir kitabım olduğunu söyleyebilirim ve içinde bir 3D motor kodunun çoğunluğu var, sadece kopyalayabilirsiniz, ancak teoriyi de okuyun - sadece birkaç sayfa çevirmeniz gerekiyor ve kodun açıklaması orada, okunmayı bekliyor. Günümüzde, muhtemelen nette bazı açık kaynaklı 3D motorlar bulabilirsiniz, ancak kodu önemli ölçüde değiştirmeniz gerekiyorsa, muhtemelen bazı sorunlarınız vardır - genellikle hiçbir yardım forumu yoktur ve SO çok özelse sorunuzun cevabını bilmeyecektir.Özelleşmiş konulara gelince, tüm dünyada sadece birkaç düzine kişi sorunuzu saatlerce harcamadan yanıtlayabilecektir. bir cevap bulmak için bir pozisyonda olmak için yeterli bulmak C # bir bağlantılı listeyi nasıl uygulanacağını sorarsanız, SO ilk önce 5 + cevap alacaksınız 10 dakika, ancak three.js'de karmaşık bir gölgeleme algoritması uygulamak için en iyi yolun ne olduğunu sorarsanız, sorunuz ön sayfayı kaya gibi batırıyor olacak.

Bunun üzerine, kitaplar neredeyse tamamen okuyucunun ilgili teori hakkında bilgi edinmek istediği bakış açısıyla yazılırken, google sadece rastgele önemsiz kod parçacıkları, kimsenin ne hakkında konuştuklarını bilmediği konu hakkında arşivlenmiş tartışmalar üretir. İnternetteki kaynaklar çok daha iyi hale geldi: SO, Moz Dev Ağı, Microsoft'un web sitesi, blogları vb. Ancak, tarihsel olarak kitaplar çok daha iyiydi, internet kaynakları şimdi yetişiyor.

9
Michael

En iyi kitaplarda yazmanın kalitesi, başlamadan önce açık olmayan birçok konunun ortaya çıkacağı şekildedir. Çok deneyime sahip bir yazar size beklenmedik yan etkiler, uzun süreli yansımalar, belgelenmemiş özellikler, tipik kullanım senaryoları hakkında bilgi vermeyi bilir.

Temel olarak, size sorun boyunca yürürken ve gerçekten ilginç bitleri işaret eden çok fazla deneyime sahip bir yazarın avantajından yararlanıyorsunuz.

Bazen bunu çevrimiçi referanslarda da bulabilirsiniz, ancak çevrimiçi bilgilerin girişinin düşük olması nedeniyle çok fazla bilgi çok temel, ayrıntılarda eksik veya sadece yanlış. Bu kitaplarda da olabilir, bu yüzden sadece iyi derecede iyi incelemelere sahip klasik kitaplara kesinlikle inandığınızdan emin olun. Diğer kitaplar da yararlı olabilir, ancak kaynaklardan yalnızca biri olarak, çapraz referans vererek veya kendinizi deneyerek bilgileri doğrulamanız gerekir.

7
Joris Timmermans

Kitaplar, yapılandırılmış bir biçimde büyük miktarda bilgi ile birlikte gelir. Google, her zaman özellikle yapılandırılmamış ve yapmanız gerekenler açısından organize edilmesi zor olmayan büyük miktarda bilgi ile gelir.

Artık fiziksel kağıt kitap okumuyorum - yanımda elektronik bir okuyucu var ve dizüstü bilgisayarımda aradığım bilgilere erişebilmem için Kindle yazılımı var.

Google'ın yararlı olduğu yerler, nasıl programlanacağına ilişkin yapılandırılmış bir genel bakış arıyorsanız, ancak belirli bir görevin nasıl programlanacağıyla ilgili ayrıntılara ihtiyacınız varsa. Birisi hemen hemen her zaman bu görev için kod yazmış veya en azından böyle bir şey.

Programlamayı öğrenme ile belirli bir görevi programlamayı öğrenme arasında bir fark olduğunu düşünüyorum. Gerçekten nasıl programlanacağı konusunda iyi bir genel bakış elde etmediyse, belirli görevleri googling'den sadece bit ve parça öğrenen birinden gelen kod kalitesini sorgularım. Bu dile özgü değil, daha kavramsal.

6
temptar

Bir konuya daha derine inmek istiyorsanız kitaplar faydalıdır. Tabii C # birkaç öğretici yapmak ve bazı (evcil hayvan) projeler yazarak öğrendim. Ancak C # derinlemesine altında neler olup bittiğini görmek ve birkaç yeni şey öğrenmek için hala yararlıdır.

Ayrıca, bir programlama kitabı alabilirim ve banyomda veya dışında okuyabilirim Güneş'te. Masaüstü bilgisayarımla bunu yapamam.

4
Carra

Çünkü diğer programcılardan öğrenmenin uygun bir yoludur.

Kitaplar bir ektir. Sadece kendi başınıza bu kadar hızlı çalışabilirsiniz. Kim sadece kitabı okumaktan başka bir şey öğretmek isteyen daha iyi bir programcıya sahip bir projede yer almaz ki?

Onları "Programlama hakkında bilmeniz gereken her şey" yerine referans olarak kullanma eğilimindeyim.

4
JeffO

Kitaplar bir dizi bilgiyi "pasif" bir şekilde özümsemenizi sağlar. Olasılıkların bir alt kümesini sunarak neyin mümkün olduğuna bakmak zorunda değilsiniz. C # öğrenirken, kitap gerçekten olasılıkları göstermeye yardımcı oldu ve C++ eşdeğerlerinin ne olduğunu merak etti. Elbette mastering (gerçek boyut) bir projede kullanıldığında gerçekleşti. Ancak kitap, farklılıkların ve olasılıkların işaret edilmesine gerçekten yardımcı oldu.

3
refro

Programcı olmak istiyorum, bu yüzden programlama kitapları kullanıyorum. Kitaplar programlama konusunda profesyonel olarak yetkin olmamı sağlayacak.

3
Benny

Uzun zamandır gerçekten bir programlama kitabı okumadım. Bunları referans kılavuz olarak kullanmak için kullanıyorum, ancak şimdi İnternet'in çoğu dil ve çerçeve için daha kolay olduğunu düşünüyorum.

Her neyse, kitap programlamadan öğrenilecek en iyi şeyin temel dil olduğunu düşünüyorum. Örneğin, ilk gerçek dilim C idi. Bir işletim sistemi yazarak öğrendim (bunu önermiyorum). Sonuç olarak, C bilgim iki veya üç yıllık programlamadan sonra bile oldukça sakatlandı. Dil hakkında iyi bir temel bilgiye sahip olmadım. Temiz bir iki satır kod içine dağınık kod bu 15 satır çevirebilir bilmiyordum. Bu yüzden sorunları çözebilirdim, ancak C'yi tam olarak kullanmıyordum.

Sonra bir noktada C++ öğrenmeye karar verdim ... (C öğrenmeye başladıktan yaklaşık 2 yıl sonra). Bu yüzden etrafta sahip olduğum tek C++ kitabını, Aptallar Kitabı için C++ okudum. Yaklaşık 3/4'ünü okudum, o sırada çok az "yapıyor" yaptım ve sonuç olarak bu 15 satır dağınık kodla rahat olmak yerine ilk projeme atladığım zaman, orada olduğunu biliyordum bunu yapmanın daha kolay bir yolu (aramam gerekse de).

Aynı şeyi C #/ASP.NET öğrendiğimde yaptım. Neredeyse hiçbir şey yapmadım ama kitabın yaklaşık 3/4'üyle bitene kadar okudum. Ve öğrenmediğim şey için, ilginç C # soruları için Stack Overflow'a göz attım. İlk projeme girdiğimde, kodumun çoğunun nispeten temiz olduğunu ve o zamandan beri sadece "büyük ölçüde" yeniden düzenlenmesi gerektiğini söyleyebilirim.

Bu yüzden kitapların bir çerçevenin veya dilin yeteneklerini öğrenmek için çok yararlı olduğunu söyleyebilirim. Bununla birlikte, elbette güçlü teorik ve özel olarak tasarlanmış referans materyal kitapları dışında, çoğunlukla internet tarafından işe yaramaz hale getirilirler.

3
Earlz

Kısacası, kitapların yüksek düzeyde daha yararlı olma eğiliminde olduğunu düşünüyorum. Size tasarım rehberliği verebilir ve sorunları çözmek yerine önlemenize yardımcı olabilirler.


Kitapların kesinlikle dezavantajları vardır. Programlama Python kopyam Python 2.0, ancak kullandığım çalışma zamanı 2.6.

Bununla birlikte, kitapların önemli yönünün, kendinize rastlamayacağınız şeyleri bulabilmeniz olduğunu düşünüyorum. Google belirli sorunları çözmenize yardımcı olur, ancak kitaplar tasarım konusunda size yardımcı olur. Ve sadece kitap değil. Bir dilin tasarımını anlamanıza yardımcı olacak iyi bir kitap okursanız, o dili nasıl kullanacağınızı daha iyi anlayacaksınız.

Diğer kitaplar bilginizi geliştirmek için iyidir. Scott Murphy'nin Etkili C++ kitabının iyi bir örnek olduğunu düşünüyorum. Bu kitap C++ öğrenmek için çok iyi olmasa da, algoritma/arayüz/kalıtım tasarımında karşılaşmadığınız (henüz) veya etrafta çalışmadığınız sorunları görmenize yardımcı olur. Basit bir çözüm bulmak kolay olabilir (daha sonra başka sorunlara neden olurum), ancak dili daha iyi anlayarak, bu sorunları en başta önlemek için yazılımınızı tasarlayabilirsiniz.

Tabii ki, kitapların onları değerli kılan kağıda basılması değil. Onları yaratmaya gösterilen özen ve çaba ve titiz bir eğitim verme arzusu, kitaplara değer veren şeydir. Genellikle bir yan etki olarak C++ FAQ lite veya Python'a Dalış gibi e-kitaplar gibi yararlı çevrimiçi kaynaklar elde edersiniz. sadece kapsamlı ve kullanışlı öğrenme araçları olan öğreticiler (bazı platformlar/diller/kütüphaneler için belgeler gibi).

Web üzerindeki parçacıklar, sorunuzu cevaplamanın iyi bir yoludur, ancak nadiren size ne sormanız gerektiğini söylerler.

3
idbrii

Ne okuduğunuzla ilgili daha az, ama ne kadar. Bir proje üzerinde çalışırken hareket halindeyken birkaç programlama kitabım olmasını seviyorum. Arada sırada (düşündüğünüzden daha sık), mevcut projenize uygulanabilecek bir tekniği okuyacaksınız.

Gerçek bir dünya çözümünü uyguladıktan sonra, bilgi yapışacaktır.

2
Mild Fuzz

Kitap okumadan sorunları çözebilirsiniz, ancak o zaman bu sorunu çözmek için programınızın arkasında neler olduğunu gerçekten bilecek misiniz?

Ne olduğunu ve neyin daha iyi bir alternatif olabileceğini bilmeniz gerekir. Bunun için iyi programlama kitaplarına ihtiyacınız var. Elbette sadece kitap okumak yeterli değil, içeriği anlamanız, diğer kitapları gözden geçirmeniz, farklı problem çözme yaklaşımlarını düşünmeniz gerekiyor. Öğrenme, kitaplı ve kitapsız devam eder.

2
Prabesh Shrestha

Kitap kullanmayı tercih ediyorum çünkü üzerinde çalıştığınız teknolojinin durumunun bir anlık görüntüsünü sağlıyorlar. Yazar, Y dilinin/kütüphanesinin X.X sürümünde, bu Z sorununu nasıl çözeceğinizi söyleyecektir.

Çevrimiçi dokümanlar genellikle kopyala yapıştırma işlemi yaparken, kitaplar genellikle bu sorunun "nedenini" kapsar.

Ayrıca, tüm referanslarınızın bağlantılarını sık sık kaybedebilir, taşıyabilir veya aşağı inebilirsiniz. Kitaplarımı bir yatırım gibi koruyor ve onlara bakıyorum (ki bunlar).

2
Spacebob

Hem kitaplardan hem de web gibi "tam zamanında" kaynaklardan öğrenme (programlama) eğilimindeyim. Her ikisi de iyi olabilir ama genel olarak kitaplardan öğrenmeyi tercih ederim, işte neden:

Sadece bir projenin bir bölümünü bitirmek için hemen bilmeniz gerekeni öğrendiğinizde bazen büyük resmi kaçırırsınız. En iyi kitaplar sadece referans olmakla kalmaz, bir anlamda bir teknolojiye kapsamlı bir genel bakış ve yaygın sorunlara en iyi çözümlerle ilgili çok sayıda öneride bulunarak çıraklığa daha yakın bir şey elde eder.

Tam zamanında öğrenme, tatmin etme probleminden çok kolay bir şekilde muzdarip olabilir, çözmek istediğiniz bir problemi belirlediğinizde, işe yarayan ilk çözüme atlarsınız, daha sonra nasıl uygulanacağını öğrenmek için internetlere koşarsınız. . Ancak, genellikle bu durum sizi rahatsız edebilir, eğer probleminiz hakkında deneyimli bir programcı ile görüşebilseydiniz size "işte X nasıl yapılır" demezler, bunun yerine size söyleyemezler. X, bunun yerine Y yapın ". Ve bu, en iyi kitaplardan aldığınız bilgi türüdür. Gerçekten de, bazı kitaplar tamamen bu tür şeylerle ilgilidir, örneğin Javascript: The Good Parts .

JIT öğrenmesinin sahip olabileceği diğer sorun çok daha yavaş bir öğrenme eğrisidir. JIT öğrenme ile sadece bilmeniz gerekenler öğrenme eğilimindedir. Ancak genellikle sadece temel bir bilgi çekirdeğine sahip olmak yeni bir dil veya çerçeve öğrenmeyi hızlandırabilir. Temelleri tökezlemek yerine sağlam bir temel ile başlayıp oradan inşa edersiniz. Bir kitap okurken ele alabileceğiniz iyi bir materyal yığını sizin için hemen yararlı olmayabilir, ancak bu arka plan bilgisine sahip olmak karar verme sürecinizi yönlendirmede ve özellikle maruz kaldığınız yeni kodu anlamada yararlı olabilir. Elbette bir değiş tokuş var ve onları okuduktan sonra hatırlamayacağınız işe yaramaz gerçekleri toplayan kötü kitaplar var, ancak temel konularda iyi bir temel sağlayan iyi kitaplar da var ve hatta bu bilgiyi günlük olarak kullanmak zorunda değilsiniz.

Bir geliştirici olarak olgunlaşmak için çok önemli olduğunu düşündüğüm tek bir teknolojik konudan daha yüksek düzeyde kitaplar da var. Kod Tamamlandı , Yeniden Düzenleme , Eski Kodla Etkili Çalışmak , vb. Gibi kitaplar. Sadece bu kitaplardan bilgi almayacaksınız. JIT öğrenme yoluyla.

1
Wedge

Ben kitap okumak için gitmek düşünüyorum.Özellikle e-kitap indirmek. Bölümün her bölümünü okuma. Kodlarını kopyalayın! programlama editörünüze yapıştırın ve daha sonra çıktının ne olduğunu görün.Daha sonra mantığını değiştirmeye çalışın.Daha hızlı çalışmak için indirilebilir e-kitaplardan bahsettim. yaklaşık 20 kitap.Tüm okumak için aşk gerektirir.Yeni yeni başlayanlar ne yaparlar, internetten yardım alarak belirli bir problemi çözerler.Ama onlara gerçek bir karmaşık görev verildiğinde pes ederler.Rson, görev hakkında bilgi ve Örneğin, kontrolleri datatable ile sınırlandırdım ve veri kümelerinin ne yaptığını bilmiyorum ve veritabanı tablolarının bellekte yerleşik kopyaları arasında ilişki (ler) yapma görevi verilmiştir.

1
Adeel

C++ öğrenirken kafamdaki bir şey tıklayana kadar çoğu literatürü işe yaramaz buldum. Bu güne kadar ne olduğundan emin değilim, ama her şey anlamlı olmaya başladı. Kitaplar ve web siteleri daha anlamlıydı. C++ programlamayı öğrenmek için 2 kitap aldı ve gerçek C++ kitaplar değildi (bunlar esas olarak MFC'ye odaklanan Visual C++ kitaplarıydı).

Doğru kitapları alırsanız, gerçekten yararlı olabilir. Bir arkadaşım üniversitede bazı Dietel kitapları okuyordu ve bunları çok iyi yazılmış buldum. "... Aptallar için" kitaplarını hiçbir zaman yararlı bulamadım çünkü işleri benim için doğru şekilde açıklamıyorlar. En iyi tavsiye bir kitapçıya gitmek ve kitabın bir çeşnicibaşı almak olduğunu, böylece son derece pahalı kitaplar olma eğilimi üzerinde para bir sürü boşa gitmeyin.

Bazı programlama konuları için birkaç kitap okumayı, Google üzerinden araştırma yapmayı ve deney yapmayı yararlı buluyorum. J2ME ile bir dama oyunu üzerinde çalışırken AI algoritmaları üzerinde çalışırken kendimi çok şey buldum. Özel sözdizimleri için bir derleyici derleyicisi oluşturmayı öğrenirken de bunu kendimi yaparken buldum. Çok farklı varyasyonlar ve görüşler var.

Bazen birden çok görünümü anlamanız, aksi takdirde daha belirsiz bağlantılar kurmanızı sağlar.

1
Lea Hayes

Yeni programcılar için programlamanın gerçekte ne kadar derin olduğunu anlamak çok zordur.

Herkes bir bilgisayara yapmasını söylemek için bir program yazabilir - çok az öğrenme ile her şey hakkında, bu zor değil! Zor olan, desteklenebilir ve hızlı bir şekilde anlaşılabilen ve ekibin diğer üyeleri tarafından derinlemesine anlaşılabilen bir program yapmaktır, bu bölüm onlarca yıl alır.

Ayrıca bir takımın etkili bir parçası olarak çalışmayı öğrenmek biraz eğridir.

Peki kitaplar bu "Gerçek" programlama problemlerini web'de referans aramayacak şekilde çözmeye nasıl yardımcı olur?

En sevdiğim kitaplardan ikisi "Tasarım Desenleri" ve "Yeniden Düzenleme".

Yeniden düzenleme, kötü kodu nasıl tanıyacağınızı anlatan harika bir kitaptır. Kodlama referanslarına bakarak öğrendiyseniz, bu kitap (Pek çok Yeniden Düzenleme kitabından biri) önemlidir.

Tasarım kalıpları, iyi bir programcının anlayamayacağı kadar çok şey sunmaz, ancak kodda zaten kullanılan çok çeşitli kalıplara adlar verdi. Bu, programcıların daha etkili bir şekilde iletişim kurmasını sağladı ve bazı programcıların sorunlara karşı yeni yollar bulmalarına yardımcı oldu. Web'de tasarım desenleri bulabilmenize rağmen, tasarım deseninin adını google'dan yapmak, yapmaya çalıştığınız google'dan çok daha kolaydır.

Röportajlarda benden bu iki kitabı ve neyi başarmaya çalıştıklarını anlatmam istendi, bence bu çok geçerli bir röportaj sorusu ... Bu ikisi hakkında bilgi sahibi olmayan bir programcıya dikkat etmek istiyorum aşırı derecede genç bir pozisyon için başvuruda bulunmadıkça kitaplar.

0
Bill K

Doğrudan kitaplardan programlamayı öğrendim. Yaklaşık 20 yıl önce google ve net popüler olmadan önce. Bence bunlar harika kaynaklar. Ancak günümüz kitaplarının çoğu sadece üreticilerin teknik makalelerini alıntılamaktadır. Şimdi çevrimiçi öğrenmenin daha iyi olduğuna katılıyorum. Aşağıdaki gibi bir Uyarı Sözü ile:

Birçok kitap okuduğum ve neredeyse finansal olarak mümkün olduğu için internet erişimim olmasına rağmen. Hiçbir zaman, büyük çapta herhangi bir projeyi tamamlayamadım. Elbette, büyük ilerlemiş kitaplarda büyük projelerin birçoğunu yapabildim, burada size yürümek için 20 bölüm aldılar, ancak kendi gerçek dünya projelerime geldiğimde, her zaman infaz olmadan bir tuğla duvara çarptım. Size söylemeliyim, bazı ağır kitaplar okudum.

Hayatım boyunca üniversiteye girerken sorunlar yaşadım, ancak şimdi üçüncü yılına giriyorum. İlk yılımda 4. yılda insanlarla ve ustalarla tanıştım ve AI, HCI, montajcı ve derleyici geliştirme vb. Teorileri hakkında verimli konuşmalar yapabildim. Ama yine de tüm bu bilgilerle makul bir program oluşturamadım. Neyi kaçırdım ... Herhangi bir kitaptan veya çevrimiçi olarak alamadığınız tek şey.

Yapısı. İlk yıl, teknik nitelikte hiçbir şey öğrenmedim (Her şeyi çoktan biliyordum ve bir gün çalışması olmadan breased, matematik ve tasarım benim için makul derecede yeni olduğu için yürüttüm), ancak yapı ve ekip çalışmasını öğrendim. İlk yaz tatillerimde ilk gerçek işimi tamamlamaya her zamankinden daha yakın oldum.

İkinci yılımda çok sayıda yeni teknoloji ürünü öğrendim (hala bildiklerime göre temeller, ama bildiğim teoriyi gerçek pratiğe koyuyordum). Bu, yapının önemini yeniden vurguladı. İlk gerçek projemi tamamlamadım. Şimdi kendimi bir programcı olarak görüyorum.

Programlamayı öğrenmek için kitap okumak gerektiğine inanmıyorum. Ama bu bir yardım. Ancak, hiçbir kitabın veya web sitesinin 2 yıllık kolejden ne aldığını öğretemediğini veya öğretemeyeceğine inanıyorum. Eğer üniversiteye gitmeden projeleri tamamlamayı başarmışsanız, adil oyun, ama yaş ne olursa olsun tavsiye ederim bir deneyim.

Kitaplar iyi, internet daha iyi, google ve tüp fab, ama hiçbir şey benim iyi eski fashoned kolej yener. Ve herhangi bir miktar googling ve youtubing'den şüphe ediyorum ve ilk elden hiçbir kitabın olmayacağını biliyorum.

0
Jack Spratt

Programlamanın sadece kitaplardan öğrenilemeyeceğini düşünüyorum (çoğu insanın bahsettiği gibi), çok fazla pratik yapmanız gerekiyor ve internette birçok kaynak var (makaleler, videolar, örnekler vb.).

Ancak iyi bir kitap bilginizdeki boşlukları doldurur. Bir kitap kapağını okuduktan sonra, konuyla ilgili bilginizde herhangi bir boşluk bulunmadığına dair güven verir. Challange konu hakkında iyi kitaplar bulmak olsa da.

0
Manoj

Hiçbir fikrim yok. Kitap programlamaya karşıyım. Çoğu durumda, ek bilgi aramak için hala İnternet'te araştırma yapmanız gerekir.

Bir programlama dili öğrenmek ister misiniz? Bunun için Google. JQuery'den nefret ettim çünkü zor görünüyordu. Sonra Stack Overflow'a geldim ve bundan çok şey biliyorum. Herhangi bir kitap yardımı olmadan.

  • Bunun için Google
  • Profesyonel ve eksiksiz bir açık kaynak uygulaması arayın
  • Neler olup bittiğini öğrenmek için bu koda göz atın ve TRY.
  • Mevcut bir kodun parçacıklarından hızlı/basit bir uygulama yazmaya çalışın.
  • Kendiniz için yeniden yazmaya çalışın.
  • İnternette daha fazla eğitim bulun
  • Deneyim kazanın
  • Daha fazla deneyim edinin
  • Yeni bir dil öğrendin! (Uzman olacağınızı söylemedim, ancak temel bilgiler birkaç saat veya gün içinde öğreniliyor)
0
genesis