Deneyimsiz bir programcının IDE'ye ihtiyacı var mı? [kapalı]


12

Bu diğer soruyu okumak bana (mutlak yeni başlayan bir PHP programcısı olarak) WAMP ve Notepad ++ ile yapışmalı mı yoksa Eclipse gibi bazı IDE'ye mi geçmem gerektiğini merak ediyor.

Yetenekli geliştiricilerin büyük parlak IDE'den faydalanacağı anlaşılabilir. Ama neden mutlak bir acemi IDE kullanmalı? Yararlar, IDE'yi geliştirmeyi öğrenmenin üstündeki öğrenme zorluğundan daha ağır basar mı?

Açıklama için güncelleme:

Amacım bazı temel programlama deneyimine sahip olmak. PHP ve WAMP (ve FogBugz ve Fırın) seçerek, zor / dağınık işletim sistemi özellikleri ve derleme vb gezinmek zorunda kalmamak ve sadece bir çevrimiçi kullanıcı kayıt formu gibi temel işlevselliğe odaklanmak için umuyoruz.

On yıl önce üniversiteden çok fazla teorik anlayışım var ama pratik deneyimim yok. Gerçek dünyaya satılabilir bir web uygulamasına benzer bir hobi projesi ile bunu düzeltmek istiyorum.

Sorulacak çok soru var. Muhtemelen içine girmemiz gereken birçok tuzak var . Bu soru, bulmacanın sadece bir parçası (benim ilk!).


IDE ile ne demek istediğinize bağlı ... Notepad ++ temel bir IDE olarak kullanılabilir.
Oded

10
Evet! Hayır! Bilmiyorum .. Senin için doğru olana git!
Ben

1
sade bir editör ile durum temeldir - tüm programcılar için ortak deneyim. Bunun üzerindeki tüm takımlar sadece - bunun üzerine takımlar - bu yüzden IDE'nin size nasıl yardımcı olabileceğini anlamak için temel bilgileri öğrenmeye başlamalısınız.

Programmers.stacexchange.com'da küçük bir ekran kazıması yaptım. "Bağımlı" ya da "bağımlı" kelimesini kullanmak, "Ben ..." ile başlayan ya da "Evet" ya da "Hayır" ile başlayan ifadelerle yanıt veren kişilerin oy verme eğilimi gösterme olasılığını artırır. Mesaj yazmak için ipucu: hiçbir şey hakkında net bir fikriniz yok.
Jason Sebring

Yanıtlar:


21

Ne tür bir program oluşturmaya çalıştığınıza bağlı olarak, IDE tüm süreci, özellikle bina ve dağıtımı, çok daha kolay hale getirebilir. Bu özellikle nispeten karmaşık çerçeveler kullandığınızda geçerlidir.

Öte yandan, hepsini elle yapmak, kaputun altında neler olduğunu anlamayı büyük ölçüde geliştirir. Bu nedenle, birkaç zor program oluşturmak "zor yol" bir çaylak için iyi bir egzersizdir.


16

Bir n00b bir IDE kullanmalı mı? Bu, n00b olarak hedefinizin ne olduğuna bağlıdır. İşte olası bazı acil hedefler:

1) Sadece programlama dilini / programlama hakkında bir şeyler öğrenmeye başlayın (hafif tanıtım)

2) Bir usta olun ve her şeyin nasıl çalıştığını anlayın (ağır tanıtım)

1) için bir IDE kullanın . İyi bir IDE kullanmak hayatınızı daha kolay hale getirecektir. Daha zor değil. Bir IDE'nin nasıl kullanılacağını öğrenmek, kurulduktan sonra nadiren o kadar zordur. Sonra programınızı derlemek ve çalıştırmak için bir "çalıştır" düğmesine veya bunun gibi bir şeye tıklamanız yeterlidir. Hata ayıklama da daha kolay olacaktır ... sadece bazı hata ayıklama düğmesine tıklayın.

2 için) IDE kullanmayın (ilk başta). Her şeyi mükemmel bir şekilde anlamak istiyorsanız, bir komut satırı hata ayıklayıcısı ve derleyici kullanmak, her şeyin nasıl çalıştığı hakkında daha fazla bilgi verecektir. Bu daha zor olacak ve başlangıçta cesaret kırıcı olabilir.


Bir IDE kullanmak size her şeyin nasıl çalıştığını daha iyi anlayamaz? Derleyici komut satırı seçeneklerini ve hata ayıklayıcı komutlarını kaçırmış olursunuz, ancak her ikisi de daha sonra tek sayfalık bir açıklamada öğrenebileceğiniz şeylerdir. Makefiles da o kadar zor değil. Önemsiz olmayan başka bir şey düşünemiyorum.
Rei Miyasaka

3
Gece ve gündüz farkı olduğunu söylemiyorum, ama kesinlikle Makefiles'i ve tüm bunları yeni bir geliştirici için "önemsiz" olarak sınıflandırmam. Ayrıca bir IDE ile başlarsanız tamamen kayıtsız kalacağınızı söylemiyorum. Sadece komut satırından başlayarak işlerin nasıl çalıştığı hakkında daha iyi bir fikir verdiğini söylüyorum.
Casey Patton

Demek istediğim, Makefiles, programların genellikle birkaç adım ve çok sayıda dosya içerdiğini anladıktan sonra, bu IDE'lerin size yol boyunca öğreteceği oldukça önemsizdir.
Rei Miyasaka

3
@ReiMiyasaka, IDE'ler bunu size yol boyunca öğretiyor mu? Benim izlenimim, birçok kodlayıcının IDE'ye kod girme ve yürütülebilir kod üretme arasında ne olduğunu asla çözemediğidir.
Winston Ewert

@ Winston Evet, var. Düzinelerce kod dosyasını ve kütüphaneyi bir araya getiren bir şey olduğunu fark etmemenin bir yolu yoktur. Etkileşimleri açıklayan verilerin tam biçimini öğrenmek faydalıdır, ancak yine de, bir şeyin gerçekten gerçekleştiğini zaten anladıktan sonra birkaç saat içinde öğrenilebilen bir şeydir. Bağlantılı listelerin ne işe yaradığını açıklamadan öğretmeyi denediniz mi? Bağlantılı listeler, ayrıntılarını bilmeleri için bir nedenleri olduğunda insanlara çok daha mantıklı geliyor. Makefiles ve derleyici parametreleri ve tüm bunlar ile aynı anlaşma.
Rei Miyasaka

5

Küçük bir hobi projesinde yeni bir dil öğrenmeye çalışan biri olarak sözdizimi vurgulamalı bir metin düzenleyicisine bağlı kaldım.

İlk başladığınızda hatalar yapacaksınız. Bir yerde bir noktalı virgül unutacak veya değişken bir ismi yanlış yazacaksınız. IDE olmadan sadece dile ve onu nasıl yazdığınıza odaklanmanız gerekir. Bu değerli bir öğrenmedir.

Büyük, parlak bir IDE, sizi öğrenmenizden kaçınarak bu hataları yakalamaya çalışarak size zaman kazandırmaya çalışacaktır. Ayrıca başkalarının söylediği gibi, IDE öğreniminize daha fazla yük getirecektir. IDE bir şey önerdiğinde, neden öneri yaptığını merak edeceğinizi, hatta doğru olanı merak edeceğinizi düşünün. Bu sadece karışıklık katacak.

Sadece metin editörü ile yeni bir dil başlatmak istiyorum, sonra yeterince emin olduğumda herhangi bir Eclipse eklentisine bakıyorum.


4

IDE'yi öğrenmenin ekstra zorluğu

Yani IDE'nin sizin için işin çoğunu yaptığı kısım?

Şimdiye kadar hiç PHP IDE kullanmadım, ancak diğer IDE türlerine benzer şekilde çalıştıklarını varsayarsak, size büyük miktarda iş tasarrufu sağlarlar. IDE'yi öğrenmeye yönelik çalışma , IDE'nin sizi kendiniz yapmak zorunda kalmadan kaydettiği işlevselliğe kıyasla önemsiz olacaktır . Kod tamamlama ve sözdizimi vurgulama gibi şeyler son derece kullanışlı araçlardır ve tamamen yeri doldurulamaz.

Profesyonel olarak kodlayan herkes bunu IDE gibi araçların yardımıyla ve iyi bir nedenden dolayı yapar.


2
Profesyonel olarak PHP ile çalışıyorum ve IDE kullanmıyorum, Vim kullanıyorum!
Gary Willoughby

1
@ Gary VIM bir IDE'dir.
rightfold

2
Hayır, bu bir editör. Bir IDE'nin tanımı: en.wikipedia.org/wiki/Integrated_development_environment Vim bu değildir.
Gary Willoughby

1
Vim'in kod tamamlama gibi şeylerle geldiğinden eminim ya da bunu yapmak için eklenebilir, bu da onu bu amaçla bir IDE yapar.
DeadMG

3
VIM ve IDE arasında büyük bir fark vardır. VIM, bir IDE gibi neler olup bittiğinin ayrıntılarını gizlemez. Bir IDE'nin avantajlarının çoğu VIM'de mevcuttur. Ancak VIM'i IDE olarak adlandırmak doğru değildir.
Winston Ewert

4

Deneyimsiz bir PHP geliştiricisinin bir IDE ile çok daha verimli olacağını düşünüyorum.

Soru şu olmalı, deneyimli PHP geliştiricilerinin IDE'ye ihtiyacı olmalı mı?


2
Bu aslında başlığı yanlış okuduğunu düşündüğüm şey ...
bunglestink

4

Genel bir kural olarak şu şekilde seçiyorum:

  • Çok fazla dosya içermeyen küçük bir uygulamasa, komut satırına sadık kalın.
  • Birçok dosyaya sahip büyük bir uygulama ise, dosyalar arasında sürekli geçiş yapacağınız ve hızlı tarama ve genel bakış özelliklerinden (özellikle nesneye yönelik diller) yararlanabileceğiniz için IDE kullanın.

Uygun olduğunda her ikisini de kullanmayı öğrenin. Komut satırıyla başlayın.


3

beceri seviyesi ne olursa olsun, herhangi bir dilde herhangi bir programcıya yardımcı olacak birkaç şey vardır:

  1. sözdizimi vurgulama ve küme ayracı eşleme

  2. yazarken sözdizimi denetimi (tek bir unutulmuş ;veya uyumsuz parantezden gelen düzine hatalardan kaçınmak için çok kullanışlı )

  3. kolay belge taraması (ancak bunun IDE'de olması gerekmez),

    • herhangi bir dilin ana kütüphanelerinde tarayıcınızda erişebileceğiniz çevrimiçi belgeler bulunur,
    • ancak dahili belgeler (üzerinde çalıştığınız projeden), açıkça belirtmediğiniz sürece olmayacaktır
  4. gerçek bir ayraç stiline ve doğru aralığa otomatik biçimlendirme (böylece bu kuralları uygulamak için daha az zaman harcarsınız) (yine bu bir dış araçla yapılabilir)

IDE / editörde sadece 1 ve 2'nin olması gerekir


3

Her zaman bir IDE (Eclipse) kullanıyorum ve yeni başlayanlar için bile tavsiye ederim. Başlıyorsanız ana avantajlar:

  • Hatalı kod hakkında anında geri bildirim (örn. Koddaki sözdizimi hataları)
  • Standart kurallar kullanarak projeler oluşturmaya özen gösterir, böylece yapılandırma / işletim sistemi özellikleri vb. Hakkında endişelenmenize gerek kalmaz.
  • Sıklıkla geliştirebileceğiniz ve onlardan öğrenebileceğiniz örnek kodlar oluşturabilir
  • Koda odaklanabilmeniz için bir dizi gizli komut satırı seçeneğini ve çağrıyı hatırlamanıza engel olur.

Ancak, genel olarak bir IDE kullanmanız gerektiğini düşünmeme rağmen, komut satırında kodunuzun en az bir veya iki manuel yürütmesini yapmaya değer olduğunu düşünüyorum. Bu, kaputun altında neler olduğunu anlamanız içindir. Daha sonra sorunları ayıklamanız gerekirse bu anlayış size yardımcı olacaktır.


1

Diğer, sorulmamış soru: deneyimli bir PHP programcısının IDE'ye ihtiyacı var mı?

Bir IDE derleme işlemini otomatikleştirmenize yardımcı olur - ancak PHP ile derleme işlemi yoktur . Sözdizimi vurgulama çok güzel bir özelliktir, ancak bunun için tam bir IDE'ye ihtiyacınız yoktur, birçok hafif metin düzenleyici vurgulama sağlar.

PHP işimi NetBeans'te yapıyorum, ancak bunun nedeni sadece NetBeans'e alışkınım. Bahse girerim, herhangi bir sayıda metin editöründe de yapabilirim.


1

Makul bir şekilde, ömür boyu ya da cehennemde kod yazacağınızı umuyorsanız, olmasa bile - genişletilebilir bir editör / IDE almalı ve öğrenmeye başlamalısınız. Hiçbir şey göze alamıyorsanız, Notepad ++ veya benzeri bir şeyle devam edin - "kısayol tuşlarını nasıl sevdiğime" karar vermek ve geleneksel olanları öğrenmek için ömür boyu görevinize başlamanıza izin verecek bir şey.

Takım IDE'leriniz, onlara dediğim gibi - Visual Studio, Eclipse, Ne var, gelip evrilecek, genellikle kodu karıştırmak veya masaj yapmak istediğinizde kullanmak için çok hantal ve yanıt vermeyecek hale geliyor / belirli şekillerde yeniden düzenleme.

Böylece, GF'nizden daha çok sevdiğiniz bir ömür boyu sizinle birlikte olan "ev" editörünüz var.

Hem Takım IDE'nizi hem de Ev IDE'nizi aynı anda kullanarak bir şey üzerinde çalışmanın mükemmel bir şekilde doğal ve üretken olacağı noktaya geleceksiniz ve her iki dünyanın da en iyisini kullanacaksınız.

My Home IDE, son 10+ yıldır kullandığım ve genişlettiğim SlickEdit'tir, bu süre içinde 120+ Makro modülü yazdım ve 1000'den fazla kısayol tuşum var.

Hepsini hatırlıyor muyum? Hayır, muhtemelen herhangi bir zamanda yaklaşık yarısı, belki% 60, ancak diğerleri özel görevler içindir, sonuçta isteğe bağlı bir şekilde bakıyorum.

Unutmayın, hayat kısa ve herhangi bir büyük projede matematik yaparsanız, günde 8 saat yazmanız için telepatik olarak kafanıza mükemmel kod dikte eden hayırsever uzaylılar bile göreceksiniz - yine de MONTHS yazmanız gerekecek büyük bir şey (akıllı bir düzenleyici, makrolar, şablonlar vb. olmadan).

Bu nedenle. Uzun vadeli plan yapın, geleceğe yolu sık sık döşeyin.

Aslında, çok sık. Şimdi sana maliyeti olmasına rağmen.


1

Yalnızca kendi deneyimimi paylaşabilirim ve bunun bir geliştiriciyi nasıl etkilediğine dair bir fikir edinebilirim.

Öncelikle, her iki ortamda da çalışmaktan hoşlandığımı söyleyeceğim. Vim ve GCC veya QtCreator / Visual Studio ile bir makefile'ı kendi ortamları ve derleyicileri ile kullanıp kullanmadığım tamamen projenin kendisine ve uygulamanın ölçeğine bağlıdır.

Öğrenmek için zaman zaman Vim'i kullanacağım çünkü şeylerin nasıl çalıştığını bilmekten nefret ediyorum ve sadece gidip cehalet yoluyla bir şeyler yazıyorum. Kodlamayı ilk öğrendiğimde C # ve Visual Studio ile yaptım. Bu bana temelleri öğretti. Ancak bir süre sonra Makefiles ve iyi bir Metin Editörü kullanmayı öğrenmeye karar verdim.

Rei Miyasaka bir yorumda, bir sayfanın bilgisinden başka bir şey olmadan birkaç saat içinde Makefile kullanmayı öğrenebileceğini söyledi. Özellikle yeni biri için buna gönülden katılmıyorum . Birkaç gün sürebilir (en azından benim durumumda). Ayrıca, Makefiles ile ilgili belgelerin çoğunun yüzlerce sayfayı kapsadığını ve tek bir sayfadan iyi bir tanıtım alabileceğinizi , bunları nasıl kullanacağınızı gerçekten bilmek çok daha fazla zaman ve okuma gerektiriyor.

Bence, yeterince hırslıysanız ve öğrenmeye yeni başladıysanız, bir Linux dağıtımı yapın (hangisinin iyi bir paket yöneticisi olduğu ve nispeten kararlı olduğu sürece önemli değil - Linux Mint veya Debian'ı tavsiye ederim C. Bir metin düzenleyici ile başlayın (sözdizimi vurgulama, otomatik girintileme ve satır numarası desteği zorunluluktur - her şey tamamen tercih edilir), derleyiciyi CLI aracılığıyla nasıl çağıracağınızı öğrenerek. Eğer geçmiş öğrenmeyi konum noktaya duruma getirdikten sonra nasıl proje başına yalnızca bir kaynak dosyasını kullanarak koduna zaman sensin o zamanbir Makefile yazmayı öğrenmeye başlayın. Ayrıca almaya değer Valgrind (C / C ++ ile yazıyorsanız, diğer programlama dillerini destekleyip desteklemediğinden emin değilim). Bu ortamda birkaç aylık kodlamadan sonra, daha büyük projelere başlarken, bir IDE (tercihen FL / OSS bir şey) öğrenin ve gitmek için iyi olmalısınız.

Bunu önermemin sebebi, IDE kullanmak bir programcıyı sadece öğrenirken ciddi şekilde sınırlandırmasıdır. Otomatik tamamlama ve proje / oluşturma yönetimi çok güzel, ancak kaputun altında nasıl çalıştığı hakkında bir fikriniz yoksa, hata ayıklama ve / veya uygulamanızın neden neden olmadığını anlama konusunda ciddi şekilde sınırlı olacaksınız. özellikle de sizin veya IDE'nin kendisi tarafından belirtilen uygunsuz bir derleme veya derleyici ayarı nedeniyle düzgün çalışıyorsa.

Şerefe.


-1

Bir IDE kullanmak hayatı çok daha kolaylaştıracaktır. PHP özellikle IDE'lerde otomatik tamamlamanın çok yardımcı olabileceği birçok tutarsız fonksiyona sahiptir. Ayrıca, IDE'nizde bir hata ayıklayıcının olması gerçekten paha biçilmezdir ...

Bir metin düzenleyicide ham dosyalarla çalışmanın basitliği hakkında güzel bir şey var, ancak gerçek bir web uygulaması üretmenin nasıl bir şey olduğunu öğrenmek istiyorsanız, bir IDE'nin özelliklerini kullanmayı öğrenmek, uzun koşu.


-1

Bilgisayar bilimi derslerimde IDE ile başlamadık. Ne yaptığımızı anladıktan SONRA yaptığımız bir şeydi.

IDE'ler yeni başlayanlar için çok fazla soyutlama eğilimindedir ve sonunda eğitimli aptallar üretir. Başlangıçta, iyi bir anlayışa sahip olmanız ya da yalnızca IDE'de düşünmeniz ve onsuz temel şeyleri anlayamamanız çok önemlidir. Ayrıca yalnızca IDE'nin yapabilecekleriyle sınırlı olacaksınız. Bazı IDE'ler, bu tür soyutlamalara ve kendi paradigmasına sahip olmaları nedeniyle insanları kötü amaçlıyor. ASP.NET için nokta web formlarında durum.

Kendinizi önyüklemek için söylenecek bir şey var.


-4

İşte benim almam:

  1. Yeni başlayanlar IDE'ye ihtiyaç duyan kişilerdir. Bunun nedeni hata ayıklamadır - yeni başlayanlar hala programın yürütülmesinin nasıl çalıştığını anlamakta sorun yaşayabilirler ve koddan geçmek bu konuda yardımcı olabilir.
  2. Mediogre programcıları programlama süreçlerini hızlandırabilir çünkü IDE'ler büyük kaynak depolarında daha kolay gezinmenizi ve her sembolün kaynak kodunda nerede bulunduğunu bulmanızı sağlayan özellikler sunar. Artık ide'ye ihtiyaçları yok , ama bazen hayatı kolaylaştırıyor.
  3. Gelişmiş programcıların IDE'ye ihtiyacı yoktur. IDE'nin kullanıcı arayüzünün onlar için çok yavaş olduğunu yeterince uzun sürdüler - bir tuşa basmak ve yanıt beklemek çok uzun zaman alıyor - zaman kaybetmemek için anında yanıt gerekiyor. Kaynak kodda gezinmek ana öncelik değildir, çünkü her kod parçasının nerede bulunduğunu hatırlayabilirler - herhangi bir şeyi değiştirmeden önce kodun tamamını okudular.

1
Yapabilseydim oy kullanmak isterdim. Büyük projelerle çalışırken, her şeyi kafanızda tutmak mümkün değildir. Mutlaka bir IDE kullanmanıza gerek yoktur, ancak bunun için bazı araçlara sahip olmak şarttır .
Bwmat

@Bwmat, şimdi CAN downvote
Pratik
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.