Birincil hedef çerçevesine güvenmek olduğunda temel bir dilin temellerini aşmak faydalı mıdır? [kapalı]


10

Lütfen bunun başka bir '[ buraya çerçeve ekleyin ]' e geçmeden önce ne kadar [ programlama dilini buraya ekleyin ] bilmem gerektiğini unutmayın. ' Bilmek istediğim şey, niyetiniz çoğu zaman kendi çerçevesine büyük ölçüde güvenmek olduğunda bir programlama dilinin bu gelişmiş kavramlarını öğrenmek ne kadar yararlıdır. Örneğin, jQuery kullanmaya başladım ve önce Javascript'in temel kavramlarını gerçekten kavramak için zaman ayırdım. Ek olarak, rafta dilde gerçekten derinlemesine yazılmış birkaç temel kitabın (örneğin bir Javascript Ninja'nın Sırları) ötesinde birkaç tane var . Sayfaları gözden geçirirken, asıl amacım DOM manipülasyonu olduğu için jQuery'ye adil bir parça taşımadığını fark ettim.

Aynı şey Ruby ve RoR için de söylenebilir. Bu kitaplar beni genel olarak daha iyi bir programcı yapacak mı? Muhtemelen. Bu konular çerçevesiyle daha iyi olmamı sağlayabilir mi? Anlamakta zorlandığım şey bu.


7
Hata ayıklama sırasında, perdenin arkasında neler olduğunu anlamanız genellikle yardımcı olur. Bunun dışında ihtiyaçla karşılaştığımda çoğunlukla yeni şeyler öğreniyorum ve bundan zevk alıyorum.
marczellm

2
Bu konuda biraz marczellm ile birlikteyim. Genel tutumum, sadece hayatınızda üretebileceğiniz çok fazla koda sahip olmanız ve diller, lehçeler ve çerçeveler kod yazabileceğinizden daha hızlı çıkıyor. Zaten birkaç dil ve çerçeveyle çalışabiliyorsanız, muhtemelen onları kemerinizdeki sürekli artan çentikler değil, bilmek veya bilmek istediğiniz bir temelde incelemek istersiniz.
Panzercrisis

Bunu söyleyebilirim IS başka "Ne kadar" soru - kesinlikle onun bir kesin koşullara bağlı olarak ölçek sürgülü olmasıdır aynı cevabı vardır.
jmoreno

jQuery biraz özel bir durumdur. Onun neredeyse başka Domain Specific Language Javascript içine gömülü. (neredeyse ama sessiz değil). Acaba bu uzmanlık nedeniyle bu soru özellikle jQuery ve Javascript hakkında daha iyi yazılmış olacaktır (jQuery ve javascript sadece bir örnek olmaktan ziyade)
Lyndon White

Yanıtlar:


27

Bu var daha önemli o çerçeveyi incelemek olandan dil eğitimi. Dili iyi öğrendiğinizde çerçeveyi iyi kullanacaksınız.

Önem sırasına göre (en önemlisi önce):

  1. Temel programlama ilkeleri - Algoritmalar, veri yapıları, vb.
  2. Dil paradigmaları - OOP, İşlevsel, vb.
  3. Dil özellikleri.
  4. Sözdizimi ve çerçeveler.

2
Eğer yapabilseydim bu konuda pek çok upvotes. Bir programcı, bilmedikleri şeyle ileri çalışma için hem tasarım hem de yetenek bakımından sınırlı olacaktır.
Peter Smith

8
5. Deyimsel kod. Diğer kişilerin kodlarını okuyun ve bu dilin stillerini öğrenin .
Joshua Taylor

5
@JoshuaTaylor Bence deyimler çerçeveden önce koymak istiyorum, çünkü deyimsel kod çerçeve ile kullanılacak ve bunları ayrı ayrı öğrenmek daha yararlıdır - dil deyimleri çerçevenin bir parçası değildir ve çerçeve kullanıcıları muhtemelen daha eklendi
Izkata

Kişisel önyargılarımı doğruladığı için kaldırıldı. Yine de, lütfen kaynaklarınızı almak istiyorum.
Aaron Hall

5

Elbette. Soru şu: “Bu fayda zaman yatırımına değer mi?”. Her zaman olduğunu iddia ediyorum, ama kesinlikle size ve çevrenize bağlı, çünkü faydaya (ortamınızın bilginizden ne kadar kazanacaklarına) ve maliyete (öğrenmeniz ne kadar sürdüğüne ve ne kadar iyi olduğunuza) bilgiyi özümsemek).

Neden faydalı olduğunu iddia edeyim ki? Çünkü her zaman çerçevede olmayacaksınız. En kapsamlı çerçeve bile hala daha büyük bir ekosistemin bir parçasıdır. Yalnız jQuery aramaları yapamazsınız. Komut dosyanızı sayfaya nasıl bağlayacağınızı, nasıl çalıştığını, yapmak istediğiniz şeylerle nasıl etkileşime girdiğini bilmeniz gerekir. Bu, kitabınızda "temel bilgiler" olabilir, ancak her zaman daha derin bilginin kodu daha hızlı hale getirmeme yardımcı olduğunu ve sorunları daha hızlı hata ayıkladığımı fark ettim. Çerçeve ya da değil.

Bunun ötesinde, gerçek dünyanın programcılara izinsiz girme alışkanlığı vardır. Elbette, bugünkü göreviniz bazı DOM manipülasyonları yapmak olabilir, ancak yarın bazı SWFObject'i bağlamanız gerekebilir. İyi bir temele sahip olmak değişen ortamlara daha kolay uyum sağlamanızı sağlar.

Ve son olarak, sadece DOM manipülasyonu yapmak isteseniz bile, artık çok az programcı tek başına çalışıyor. Akranlarınız muhtemelen programlama dili ile daha gelişmiş şeyler yapacaklardır. Bu kodu okuyabilmeniz gerekir, ya da en azından onu vidalamamalısınız.


1

Muhtemelen öğrenmeniz gereken miktar kadar küçük bir dengeye ihtiyacınız var. Hepsi ya da hiçbir şey değil, olabildiğince çok zaman koyun. Çerçeveye dayanarak kabul etmek istediğiniz riskleri kendinize sormalısınız.

İhtiyacınız olan tek şey Minimum Canlı Ürünü çalıştırmak ve çalıştırmak harika. Büyük bir performans ya da karmaşık bir gereksinim olmayacak. Bu, oluşturmaya çalıştığınız şeyi işleyebilecek bir çerçeve seçtiğinizi varsayar.

Spektrumun diğer tarafında ise oldukça büyük / karmaşık bir uygulama üzerinde çalışıyorsanız ve çerçevenin kötü işlediği bir şey bulursanız. Önemli değil, bu yüzden daha fazla JavaScript öğrenmek zorunda kalırsınız. Başından beri öğrenmiş olsaydın, o zaman için harcamalıydın. Ama vaktin var mı? Zamanında bir şey yapmamanın stresinin temellerini öğrenebilecek misiniz? Kimse buna cevap veremez.

Dengelemek muhtemelen en iyi seçenektir. Kendinize ayak uydurun. Mümkünse JavaScript öğrenin. Uzman olamazsınız, ancak bunu görmezden gelmek için bir neden yoktur. Çerçeveler, sizinkine benzer bir sorunu çözmesi gereken, ancak sizinki gibi olmayan kişiler tarafından oluşturuldu.


1

Çekirdek dili iyi bilmeden önce çerçeve (ler) den ayrılmaktan muzdarip genel bir alan performanstır. Bu, tüm diller / platformlar için geçerlidir ( Hazırda Bekletme n + 1 seçimleri vb.). İşte çok ait JQuery ipuçları ve açık (diğer şeylerin yanı sıra) itimat hileler çekirdek dilin iyi bilinmesi performansına ilişkin olarak:

Her Doğal Yerin İçin Kullan Her zaman yardımcı fonksiyonlardan daha hızlıdır. JSON olarak alınan bir nesneyi döngüye aldığınızda, JSON'unuzu yeniden yazmanız ve daha kolay döngü yapabileceğiniz bir dizi döndürmesini sağlamanız daha iyi olur.

Sınıflar yerine kimlikleri kullanma Kitaplığın davranışı nedeniyle nesneleri kimliğe göre seçmek çok daha iyidir: jQuery, nesneyi almak için tarayıcının yerel yöntemini (getElementByID ()) kullanır ve bu da çok hızlı bir sorgu ile sonuçlanır.


0

Bence sorunuz yanlış bir önermeye dayanıyor. Bir çerçeveye güvenmeyi planladığınızı söyleyerek başlıyorsunuz ve sonra çerçevenin ötesinde öğrenmenin faydalı olup olmadığını soruyorsunuz. Tabii ki sonuca varıyorsunuz buna değmez. Ama bu öncül kusurlu. Bir çerçeve kullanmaya odaklanmamalısınız. Doğru iş için doğru aracı kullanmaya odaklanmalısınız . jQuery belirli görevlerde gerçekten iyidir ve Ruby on Rails veya başka bir çerçeve de öyle. Ancak her şey için her zaman doğru araç değildirler. Çerçevenin ötesindeki dili öğrenmek ve hatta diğer çerçeveler veya mikro çerçeveler veya diğer araçlar hakkında bilgi edinmek, çerçevenizin ne zaman yolunuza yardım ettiğinden daha fazla yol aldığını belirlemenize yardımcı olur ve size başkalarını arama yeteneği verir,

Yani cevabım: evet, kesinlikle buna değer çünkü çerçeve her iş için doğru araç değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.