يونكس / لينكس

İlk Programlama Dilinizi Nasıl Öğrenirsiniz

Giriş

Programlama çok yararlı ve faydalı bir hobidir. Birinin sizi hayatınızı kolaylaştırmak için bir araya getirdiğiniz bir programı kullanırken gördüğü ve gerçekten yararlı göründüğünü söylediğinden daha az iyi his vardır. Çoğu insan, hayatlarının bir noktasında, bilgisayarlarında veya telefonlarında bir şeyler yapabilmek ve yapamadıklarını çok istemiştir. Bir programlama dili biliyorsanız, bu görevi gerçekleştirmek için bir program yazmanız genellikle adil bir ihtimaldir. Çok sayıda programlama dili varken, birçoğunun pek çok benzerliği vardır; bu, bir dili çok iyi öğrendikten sonra, çoğu durumda çok daha hızlı bir şekilde yeni bir tane seçebileceğiniz anlamına gelir.

Sınırlar

Tüm yeni programcıların birlikte gelmesi gereken bir şey, zamanın miktarıdır. bir programlama dilini öğrenmek alır. Uzman olduğunuz zaman hızlı bir şekilde birçok program yazabileceksin, ancak birçok programın tüm uzman geliştirici ekiplerini yıllar boyunca oluşturduğunu hatırlamalısın. Bu nedenle, bir programlama dili veya hatta birkaçını tanımanın, gördüğünüz daha karmaşık programlardan bazılarını yazmak için yeterli olmadığını anlamak önemlidir. Bu yeni hobiye, kendinize çok para kazandırmanın bir yolu olarak bakmayın, şu an için ödemeniz gereken programların çoğunun kendi versiyonunu yazmanız erişemeyeceğiniz bir yer olacaktır.

En önemli şey Yeni bir programcının bilmesi gereken "24 saat içinde Programlamayı Öğrenin" türündeki kitapların doğru olmadığıdır. Daha doğru bir başlık ise “10.000 saatte Programlamayı Öğrenin” olacaktır. Bir dili öğrenmek için 24 saat veya bir hafta koyarsanız, bir sonraki Windows veya yeni, en son teknolojiyi yaratamazsınız. 10 dakika içinde bir program yazmayı öğrenmek mümkündür ve yeni bir dil öğrenmek için ihtiyacınız olan tek şey favori arama motorunuzdur, ancak bir uzman olmayacaksınız. Uzman olmanın tek yolu, kemanı öğrenmek gibidir; cevap pratik, pratik ve biraz daha pratiktir.

İlk Dilinizi Seçme

Artık kısıtlamaları inceledik ve daha gerçekçi olmayan beklentilerden bazılarını ele aldığımızda, hala kodlamayı öğrenmek isteyenler Programlamanın öğrenmeye başlamak için zor bir şey olmadığını ve çok büyük miktarlarda para ödemenizi gerektirmeyeceğini bilin. Bu makaleyi çevrimiçi olarak okuyorsanız, bazı dillerle başlayacak kaynaklara zaten sahipsiniz, bu nedenle ilk dilinizin ne olması gerektiğini düşünelim.

Geleneksel olarak bir programlama öğrencisinin öğrendiği ilk dil Visual Basic veya Python . Anlaşılması gereken ilk şey, bu iki dilin çok farklı olduğudur. En basit fark, fiyat biridir. Python tamamen ücretsizdir; Python'u şimdi sadece bilgisayarınızda bir metin editörüyle yazmaya başlayabilirsiniz, ancak Windows'taysanız muhtemelen ilk önce onu yüklemeniz gerekecektir. Bununla birlikte, genellikle VB olarak kısaltılan Visual Basic, hem ücretsizdir hem de özgür değildir. VB, yeni başlayanlar için öğrenmesi daha kolay olabilir çünkü bazı temel sanat uygulamalarında tasarlamaya benzer farklı parçaları sürükleyip bırakarak arayüzleri (kullanıcının göreceği programın bölümünü oluşturmanıza izin verir). VB yeni gelenlerin öğrendiği sürüm genellikle Visual Basic 6'dır, ancak bu oldukça eskidir ve kullanımdan kaldırılmıştır. Bu yüzden bugünlerde öğrenilen sürüm genellikle VB.NET'tir ve bu da yeni gelenler için çok daha az basit olabilir.

VB.NET, IDE (Entegre Geliştirme Ortamı) dediğimiz içinde geliştirilmeli; Bu temelde diğer programları yazmak için kullandığınız özel bir programdır. Python için de varlar, ancak kullanımları tamamen isteğe bağlı. Ücretsiz VB.NET IDE, Visual Studio Express olarak adlandırılır. Yazma sırasında, en son sürüm Visual Studio Express 2010'dur. Ne yazık ki, IDE'nin ücretsiz sürümünü kullanarak yapabilecekleriniz ile sınırlandırılırsınız ve oluşturduğunuz hiçbir program ticari olarak satılamaz. Ne yazık ki, IDE'nin tam ücretli sürümü ucuz değil ve muhtemelen bir hobi için uygun değil, ama neyse ki VB'yi öğrenmek için ücretsiz sürümü yeterli. Uygulamada, bugünlerde VB'de çok az ticari program geliştiriliyor, ancak Visual Studio IDE birçok başka dil kullanmanıza izin veriyor. Kullanarak geliştireceğiniz tanıdık, aynı zamanda IDE'nin gücünü birçok dilde geliştirme için kullanmanızı sağlayacaktır. Bazıları hemen hemen her dilin bir metin editöründe geliştirilebileceğini ve kodlanacak en esnek yol olduğunu iddia edeceklerdir. Bu teknik olarak doğru olmakla birlikte (ve biraz daha iyi olduktan sonra karşılaştırmak için bir metin editöründe geliştirmeyi denemeyi öneririm), ilk dilinizi uygun bir IDE ile öğrenmenizi şiddetle tavsiye ediyorum.

Geleneksel olarak, insanlar Python veya VB öğreniyor Birincisi ve bunlar genellikle okullarda öğretilen şeydir, ikisini de önermeyeceğim. Programlamanın temellerini öğrenmenize yardımcı olma amacına hizmet eden ilk dilin sizin için yararlı olmaya devam etmesi gerektiği kanısındayım. Bunlardan birini yeni gelenler için önermek zorunda kalsaydım, programlamanın en karmaşık kısmı şeylerin grafiksel tarafı olduğu için VB.NET olurdu ve VB.NET'te sürükle ve bırak arayüzü nedeniyle bu çok basittir. Bu iki dil, çoğu zaman hatalara tolerans gösterdikleri için tanıtım olarak kullanılır ve birçok karmaşık konu hakkında endişelenmeden programlama prensiplerine güvenmenizi sağlar.

Java, ilk diliniz olarak karmaşık olsa da, bu nedenle ilk dil için ortak bir seçenek değildir. Java programları, bilgisayarınızda çalışmadıkları için diğerlerinden farklıdır. Kullanıcı Java'yı indirir, ardından kodunuz VM (Sanal Makine) denilen kodla çalışır. Bu, kodunuzun, Java'nın ayarladığı ve bilgisayarınızın sahte bir kopyası olan özel bir yerde çalıştığı ve bunun sizin için gerçek makineye çevirisini yaptığı anlamına gelir. Bu, Java programlarının "platformlar arası" olduğu anlamına gelir; bu, çoğu zaman Windows, Mac, Linux ve diğer işletim sistemlerinde çalışacakları anlamına gelir.

Java, çok yaygın olduğu gibi öğrenmek için iyi bir dildir. kullanışlı. Ayrıca, çok güçlüdür ve hem hobiler hem de ticari kullanımlar için ücretsiz olarak kullanılabilir. Bununla birlikte, VB ve Python'un aksine hatalara tolerans göstermez ve her şey için çok spesifik olmanızı gerektirir. Aynı zamanda kısaca özetlemeye çalışacağım çok karmaşık bir konu olan nesne yönelimli bir programlama dilidir. Python ve VB gibi diller prosedürel diller olarak bilinir, yani kod satırları birbiri ardına çalıştırılır, Java ise nesne yönelimli bir dildir. Nesne yönelimli gelişim, programlama dünyasında bugünlerde çokça atılan bir terimdir ve her zaman uygun olmamakla birlikte genellikle iyi bir fikir olarak kabul edilir. En temel düzeyde, nesneye yönelik bir program tamamen nesnelerle ilgilidir. Bir nesne, bir "sınıf" ın "somutlaştırılması" dır. Sınıf, kedi gibi bir şeyi tanımlamak için kullanılan bir plandır. Sınıf, kedi, adı, yaşı ve sahibi gibi kedi hakkındaki verileri ve miaow gibi esasen kedinin yapabileceği eylemler olan "yöntemleri" içerir. "Kedi" sınıfının bir örneği size belirli bir kedi verecektir. Ancak, bu bir Java öğreticisi değildir, bu yüzden Java'yı deneyimlemek için yeterince cesursanız, bu konuyu daha ayrıntılı olarak kendiniz göreceksiniz. VB.NET ve Python'un hem nesne yönelimli gelişimi desteklediğine hem de Java'nın prosedürel olarak kullanılma potansiyeline sahip olduğunu, ancak bunların dillerin birincil amaçlanan kullanımları olmadığını ve sıklıkla kullanılmadıklarını belirtmek gerekir. Bu karşılaştırmayı anlamadıysanız, çok fazla endişelenmeyin. Nesne yönelimi kafanızı dolaştırmak zordur, ancak herhangi bir temel Java veya başka bir nesne yönelimli dil öğreticisi, bu paragraftaki her şeyi anlamanıza yardımcı olacaktır. Tamamen farklı bir dil sınıfı olan Javascript. Javascript (Python'da olduğu gibi) bir betik dilidir ve Java öğrenmek, Javascript'i makul derecede iyi anladığınız anlamına gelir. Kodlama dilleri ile normal programlama dilleri arasındaki fark, bu makalenin kapsamı dışındadır, ancak programlar genel olarak kullanıcılar tarafından etkileşimli olarak kullanılırken, genelleme komut dosyaları genellikle otomatik işler için kullanılır. Her iki dil türü de hem görevler için kullanıldığından hem de çoğu web programı Javascript'te oluşturulduğundan, bu tam olarak doğru değildir.

Seçtiğiniz gerçek dile gelince, tamamen size kalmış. Bazıları geleneksel başlangıç ​​dillerini seçebilir veya Java ile cesur ve deneysel olabilir. Bazılarınız zaten bir dile göz kulak olabilir ya da Scheme veya Prolog gibi daha uzman dillerden birini tercih edebilir. Seçiminiz ne olursa olsun, nasıl programlanacağınızı öğrenme şekliniz aynıdır.

IDE'ler, Evet mi, Hayır mı?

Purists'ın çoğu IDE'lerin kötü bir fikir olduğunu ve gereksiz araç ve menülerle dolu olduğunu söylüyor disk alanını ve zamanını öğrenmek. Bu doğru olsa da, bir IDE'nin kesinlikle faydalı olduğunu düşünüyorum. Birçok kişi, daha popüler diller için Eclipse ve Netbeans gibi ücretsiz IDE'ler sunar. Daha önce bahsettiğim Visual Studio da var; çok sezgisel, çok güçlü ve birçok dili destekliyor (Netbeans ve Eclipse gibi). Java'yı kullanmayı seçtiyseniz, NetBeans'ı öneririm, çünkü NetBeans'ın JDK (Java Development Kit) ile birlikte paketlenmiş bir sürümü var. Çoğu dilde onlarla birlikte çalışmak için bir SDK'ya (Yazılım Geliştirme Seti) ihtiyaç vardır ve düzgün bir şekilde kurulup IDE'ye bağlanması genellikle prosedürün en zor kısmıdır. Visual Studio zaten, hayatı kolaylaştıran geliştirme kitleri ile birlikte geliyor, ancak Java ve Python gibi diğer dilleri düzgün şekilde ayarlamak oldukça zor olabilir. Bu nedenle, Java ile deneme yapanlar için Netbeans + JDK paketini önerdim, zira sizin için ayarlanan karmaşıklığı ele alıyor, ki bu size acıdan saatler süren acıdan tasarruf etmenizi sağlıyor.

tam özellikli IDE. Birincisi, genellikle genişletilebilir niteliktedir, yani biraz daha gelişmiş hale geldiğinde hayatınızı çok daha kolaylaştıracak birçok ücretsiz eklenti olduğu anlamına gelir. İkincisi ve en önemlisi, bir IDE'nin kodunuzu hata ayıklamanıza izin verdiği kolaylıktır. Çoğu IDE kodda kesme noktalarını ayarlamanıza izin verir, bu da programı o noktaya geldiğinde durdurur ve satır satır atlamanıza izin verir, böylece tüm değişkenlerin içeriğini istediğiniz zaman inceleyebilirsiniz. (Bir değişkenin ne olduğunu bilmeyenler için, kısaca açıklayacağım. Bir değişken, bir tren istasyonu dolabı gibi birazdır. Ne saklamak istediğinizi, ne saklamak istediğinizi tutacak kadar büyük bir tane istersiniz. depo doğru şekli, orada saklanabilir .. Bir program yazdığınızda, geçici olarak saklamak istediğiniz herhangi bir veri, siz bitinceye kadar bunlardan birinde tutulur.) Hata bulunamadı, yeterince sert görünmüyorsunuz. Neredeyse hiçbir önemsiz olmayan program ilk kez işe yaramayacak ve bir hata ayıklayıcı kullanmadan sorunun nerede olduğunu çözmeye çalışmak hiç kimseye istememem gereken bir acı. Son olarak, bir IDE sıklıkla koddaki sorunları nasıl çözeceğiniz konusunda size tavsiyelerde bulunur. Bu, hataları düzeltmek için çok faydalı olabilir ve her dakika Google’a başvurmak zorunda kalmanıza gerek kalmayacağından tasarruf sağlar. Bu, öğrenmeye şaşırmış olabileceğiniz veya olamayacağınız gibi, hiç de karmaşık değildir – basitçe zaman alıcıdır. Programlamayı ilk defa öğrenmek için keşiften daha iyi bir yol yoktur. Sizi adım adım ilerleten bir kitap satın almak size hiçbir şey öğretmeyecektir, çünkü yaptıklarının arkasındaki sebepleri anlayamayacaksınız ve insanlar sık ​​sık tedium tarafından bulaşmaya başladılar.

Programlamayı öğrenmenin anahtarı bir hedefe sahip olmaktır. İzlediğiniz tüm TV şovlarının neresinde bulunduğunuzu izleyebileceğiniz bir sistem veya belirli bir kategorideki tüm kitaplara bakmanıza izin verecek bir sistem veya kendinizi cesur hissediyorsanız, Düzenli olarak kullandığınız bir şeyin bir kısmını çoğaltmaya çalışın. Benim tavsiyem, belki de kullanıcıya veya gerçekten basit bir hesap makinesine hakaret eden bir dizi mesaj kutusu yaparak küçükten başlamak olacaktır. İlk başladığınızda hedeflerinizin ilgi çekici, zorlayıcı ve eğlenceli olması önemlidir. Gerçekten sıkıcı programlar yapmaya kalkarsanız çabucak tükenirsiniz, bu nedenle programınıza bir komedi enjekte etmeye çalışın. Hesap makinesi çok iyi bir tanıtım programıdır, ancak genel bir fikir edindikten sonra oldukça iddialı hedefler belirlemeniz önemlidir, sanki basit şeyler yapmaya devam ediyormuş gibi, asla yeni bir şey öğrenemezsiniz. Önceki çalışmalardan edindiğiniz bilgilerin bir kısmını dahil etmeye çalışmak önemlidir. Kitapların çoğunun programlamayı iyi öğretememesinin sebeplerinden biri, tanıttıkları her şey için küçük örnekler kullanmalarıdır, oysa yapmanız gerekenler, işi başarmak için neye ihtiyacınız olacağını düşünmeden planlamaktır. Bu, zaten bildiklerinizi kullanarak bir kısmını kodlayabileceğiniz anlamına gelir, ancak en önemlisi, bir kısmını nasıl kodlayacağınızı bilemeyeceksiniz. Öğrenmenin en iyi yolu yaparak öğrenmektir. Geçmişte bir bilgisayarda yapmak istediğiniz bir görevi yapan tam bir programa gidin, üzerinde çalışın ve işiniz bittiğinde çok şey öğrenmiş olacaksınız ve faydalı bir (veya en azından eğlenceli) bir programınız olacak.

Listeleri gösteren bazı oyuncak programlarından çok daha iyi.

Belli bölümleri yapamayacağınız projeleri yapmayı seçerek öğrendiğinizi, böylece öğrenmenizi istediğinizi, ancak nasıl yapılacağını öğrenmeye başladığınızı söyledim. ? Çok basit ve büyük olasılıkla bu makaleyi bulma şekliniz. Sık kullandığınız arama motoruna (Google gibi) gidin ve ne yapmak istediğinizi arayın – örneğin, Java'da açılır listeleri kullanma örneklerini bulmak için "açılır liste Java" yı arayın. Çünkü başka bir görev için buna ihtiyacınız olacak ve yalnızca örneklerin yaptığı şeyi tekrar yapmak için değil, bulduğunuz örneklerle oynamak zorundasınız ve istediğiniz şeyi yapmalarını sağlamaya çalışmalısınız. İhtiyacınız olan her bir parçayı araştırın ve çok geçmeden, temellerin çoğunun sabahları uyanmak kadar doğal olduğunu göreceksiniz ve hepsini kitaplara küçük bir servet harcamadan, sıkılmadan ve umarım eğlenmeden geçirmeden yaptınız. Bu güne sıkılırsam, bazen sadece bir kutu listesi ve rastgele bir sayı üreteci olan ilk programlarımdan birini dağıtırım. Tüm kutuları, rastgele sayı üreticisinin size vereceği rakamları artan sırada olacak şekilde doldurmaya çalışmak sizin görevinizdir – eğer boşluk bırakmazsanız ve bir deliğe bir sayı sığamazsanız kaybedersiniz ve yeniden başlamak zorundasınızdır. . Bu basit bir program, ancak ilk yaptığımda ve bu deneyimlerden çok şey öğrendiğimde çok çalıştım.

Kemerinizin altında birkaç iyi boyutlu program bulunduğunda, dili iyi bildiğinizi göreceksiniz . Bir dili ne kadar iyi bildiğiniz önemli değil, bir şeyi kontrol etmek için Google’a başvurmadan bir program yazabilmenizin nadir olduğunu göreceksiniz. Dolayısıyla, akılda tutularak, dil öğrenmeyi hiç denemeden öğrendiğiniz söylenebilir. Açıkçası, kendi başınıza alamayacağınız standartlar ve iyi uygulamalar var, ancak daha fazla örnek gördüğünüz ve yorumları okuduğunuzda, kendi standartlarınızı oldukça hızlı bir şekilde benimsediğinizi göreceksiniz.

Başka Bir Dil Öğrenme

ne olursa olsun, bir dili öğrendim, öğreneceğiniz en değerli şey aramalar için anahtar kelimelerdir. Yeni bir dilde bir şey yapmak istediğinizde, sadece ne yapmak istediğinizi ve dil adını aramanız yeterlidir. Ancak, şimdiye kadar ne yapmak istediğinize atıfta bulunmak için kullanılan isimleri bileceksiniz, aramalarınızın daha etkili olmasına ve örnekler ve cevapların çok daha hızlı bir şekilde verilmesine izin verin. Programlamanın temelleri çoğunlukla aynı olduğundan, kullandığınız dilden bağımsız olarak, bir örnek bulduğunuzda, dilin çoğunu seçmenize olanak tanıyan kodun çoğunun anlamını çok daha etkili bir şekilde tahmin edebileceksiniz. çok hızlı bir şekilde.

نتيجة

Bu makaleden başka bir şey almayacaksanız, bir beceri öğrenmenin en iyi yolunun pratik yapmak, pratik yapmak ve biraz daha pratik yapmak olduğunu unutmayın, bu nedenle bir gecede uzman olmayı beklemeyin. Programlamanın gece boyunca öğrenilebilecek bir şey olmadığını ve güvenilir bir uzman olmak için muhtemelen en az 10.000 saat programlama yapmanız gerektiğini, bu nedenle motive kalmanın yollarını bulmanız gerektiğini unutmayın. Programlamayı öğrenmek gibi düşünmeyin – sadece programlamaya başlayın ve bilmeden önce bir uzman olacaksınız. Programlama bir beceridir ve bir kez hissettiğinizde oldukça basit olsa da, sizi haftada bir alan küçük hesap makinenizi görmek ve ardından "Batman: Arkham City" gibi modern bir oyunu düşünmek ve fark etmek çok korkutucu olabilir ne kadar ileri gitmek zorundasın.

Programlama, nasıl yapıldığını bildiğinde kolaydır, ama öğrenmek için önemsiz bir şey değildir, bu yüzden kendinize görevler belirlemeniz önemlidir. Bu görevler tercihen ilgi çekici ve daha da eğlenceli olmalıdır, çünkü bunlar bir gün uyanana kadar oldukça fazla şey bildiğinizi fark edene kadar programlama ve öğrenmeye devam etmenizi sağlayacaktır. Sen kendi en iyi hocansın ve anahtar basitçe atlamak ve başlamaktır.