Java eğitimi. Java programlama dersleri. Başlangıç ​​deneyimi kazanmak. Serbest çalışma

Bilgiye hızlı erişime ve aynı derecede hızlı emilime alışkınız. Beş dakikalık videoları derin derslere, kısa makaleleri kitaplara tercih ediyoruz. İyi bir programlama kitabının herhangi bir makalenin yerini alacağını iddia etmeyeceğim, öyle değil. Ve kesinlikle pratiğin yerini almayacak. Bununla birlikte, kişisel olarak benim için programlamanın temellerine dair gerçek bir anlayış, bir programlama kursunda yüzlerce problemi çözdükten ve bir ton makale okuduktan sonra, aynı anda kitaplardan teoriyi incelemeye ve bunları iyice araştırmaya başladıktan sonra geldi. Bir süredir kişisel “yeni başlayanlar için en iyi Java eğitimimi” arıyordum. Aşağıda çalışmalarımın farklı aşamalarında bana az ya da çok faydalı olan birkaç kitap bulunmaktadır.

"Küçükler için"

Sonraki iki kitabı eğitiminizin başında videoya paralel olarak veya JavaRush ile çalışıyorsanız ilk seviyelerle birlikte okumaya başlayabilirsiniz. Bunlar, özellikle de ilki, programlama geçmişi olmayan kişiler için uygundur.

Önce Java'ya Başlayın

Bu kitapla en sevdiğim olduğu için değil, en basit olduğu için başladım. Birçok programcıya göre bu kitap sıfırdan yazılmış en iyi Java eğitimidir. Üstelik gerçekten ve tamamen "sıfırdan", yani yeni başlayanlar ve canavar programlamanın ne tür bir programlama olduğunu henüz tam olarak anlamayanlar için uygundur. Bana çok geç geldi. Sanırım bu yüzden takdir edemedim. Onu "sadece okumak" çok hoştu ama uzun süre içinde belirli bir şey aramam gerekiyordu. Oradaki materyal canlı ama oldukça yüzeysel bir şekilde sunuluyor (çünkü sıfırdan geliyor!) ve pek çok konu ve gerekli açıklamalar orada yok. Ancak kitabı miras alan arkadaşım bundan çok memnun kaldı ve bunun sadece yeni başlayanlar için en iyi Java ders kitabı değil, aynı zamanda gerçek bir dünya şaheseri olduğunu ve karmaşık materyalin bu şekilde sunulması gerektiğini haykırdı. Avantajları:
  • Yaşayan dilde yazılmış, eksiksiz kuklalar için sıfırdan en iyi Java eğitimi;
  • Harika çizimler ve mizah;
  • Gerçek hayattan örneklerle açıklamalar.
Kusurlar:
  • Konuya daha önce girmiş olanlar için bol miktarda “su”;
  • Bulmacalar ve alıştırmalar her zaman başarılı olmaz.

Herbert Shildt. Java 8 Başlangıç ​​Kılavuzu

Bu ders kitabını inceledikten sonra, materyalin Headfirst'e göre daha geleneksel bir şekilde sunulmasını seven ve aynı zamanda sıfırdan bir eğitim arayanlar için çok uygun olacağını düşündüm. Bazı yerlerde kitaptaki sunum çok detaylı, güzel görsel örneklerle genişletilmiş ve çevrilmiş belgeleri anımsatıyor. Bazen, bana gelince, yazar çizgiyi aşar ve çok fazla çiğnemeye başlar, okumak sıkıcı hale gelir... ve aniden - takla atarak - oldukça karmaşık bir yer neredeyse anında gözden kaçırılır ve neyin nerede olduğunu anlamaya çalışırken tamamen şaşkına dönersiniz. kaçırdın. Ancak kitapta buna benzer çok fazla bölüm yok ve Başlangıç ​​Kılavuzu'nun henüz hiçbir şey bilmeyenler için en iyi Java eğitimi olduğuna inanan insanlar tanıyorum. Şahsen ben bunu pek akıcı bulmadım. Diyelim ki koleksiyonları sıralamaya başlıyorum ve insani bir açıklama yerine bana bağımsız olarak dizilere dayalı bir Set oluşturma görevi veriyorlar. Harika bir sorun ama önce standart koleksiyonların ne olduğunu daha iyi anlamak isterim! Her ne kadar bu kitap, önceki kitap gibi, yeni başlayanlar için bir ders kitabı olarak görülse de, bir öğretmen olarak deneyimim, bunun yalnızca diğer materyallerle birlikte kullanıldığında iyi olduğunu gösteriyor: bir beşeri bilimler öğrencisi için her şey basit ve anlaşılır olmayacaktır. “Başlangıç ​​Kılavuzu” en azından programlamayı öğrenmiş (örneğin üniversitede), bundan uzun zaman önce vazgeçmiş ve aynı zamanda yazarın sunum tarzını beğenmiş biri için çok uygundur. Avantajları:
  • Temel bilgilerin geleneksel düşünceli sunumu;
  • İyi örnekler.
Kusurlar:
  • "Çok çiğnenmiş"ten "çabuk söylenene" doğru "sıçramalar" var;
  • Yer yer biraz sıkıcı.
Bu arada Herbert Schildt'in programlama üzerine ünlü bir kitabı daha var: “Java 8. Tam Kılavuz" Bu tamamen farklı bir ders kitabı, daha temel. Hadi ona geçelim.

Referanslar ve gelişmiş kılavuzlar

Bu bölümdeki kitaplar, konuya iyice dahil olmuş, teori ve pratiği daha iyi anlamak için kitap arayanlar için faydalı olacaktır.

Herbert Shildt "Java 8. Tam Kılavuz"

Bu kitabı değerlendirmek için internetten indirip, satın alıp almayacağıma karar verdim. Şaka değil, 1300 sayfalık metin! Fiyat, hacimden daha az etkileyici değil. Kay Horstmann'ın iki ciltlik “Profesyonelin Kütüphanesi” ile tamamen aynı şeyi yaptım (bununla ilgili daha fazla bilgi aşağıda). İleriye baktığımda ikinciyi seçtiğimi söyleyeceğim. Neden? Çünkü “Java. Tam Kılavuz"da da "Başlangıç ​​Kılavuzu"ndaki eksikliklerin aynısını gördüm. Bazen çiğneniyor, bazen buruşuyor, ama aynı zamanda sadece buruşmuyor, aynı zamanda bir şekilde ayrıntılı bir şekilde buruşuyor. Muhtemelen yazarın tarzı bu ve birinin bundan, daha doğrusu onun düşünce tarzından hoşlanacağını düşünüyorum. Genel olarak Java 8: The Definitive Guide, Java için iyi bir referans kitabıdır. Ama kişisel olarak aynı konuların başka bir kitapta sunulmasını daha çok beğendim. Avantajları:
  • Kılavuzu tamamlayın. Sadece yeni başlayan birinin değil, yeni başlayan birinin bilmesi gereken tüm konuları içeriyor gibi görünüyor.
  • Detaylı açıklamalar.
Kusurlar:
  • Bol su (ama bazı insanlar bundan hoşlanabilir!);
  • Rusça çeviri en iyisi değil.

Java. Profesyonelin Kütüphanesi, Kay S. Horstmann, Gary Cornell

Schildt ve Horstmann'ın kitapları sıklıkla birbirleriyle karşılaştırılır. Her ikisinin de sadık hayranları var. Benim için Horstmann'ın iki ciltlik kitabı Java hakkındaki en iyi ders kitabıdır. Ayrıca JavaRush'un başlangıç ​​ve orta seviyelerinde benim için bir referans kitabı oldu. Bir konuyu anlamadığımda çoğunlukla Horstmann'a başvurdum ve o birçok şeyi açıklığa kavuşturdu. Kitap, sözdiziminden çok iş parçacıklı programlamaya, uygulama yerelleştirmesine ve XML ile çalışmaya kadar her şeyi kapsar. Ve "Profesyonelin Kütüphanesi" isminin sizi korkutmasına izin vermeyin (beni korkutan da buydu), temel bilgiler oldukça iyi ele alınıyor. Ayrıca bilginizi tazelemek ve düzenlemek için periyodik olarak tekrar okumanızda fayda var. Profesyonellerin bile bunda kendilerine yararlı bir şeyler bulduğunu söylüyorlar... Bilmiyorum. Profesyonel olursam sana anlatacağım! Avantajları:
  • Etkileyici sayfa sayısıyla (Schildt'in aksine) çok az su var.
  • Yeni başlayanların ihtiyaç duyduğu her şeyi içerir.
  • Java 8'i ortaya çıkarır.
  • Koleksiyonlar ve jeneriklerle ilgili konuların iyi sunumu.
  • JavaRush ile çok iyi eşleşir. Konuya gelin, sorunları çözün, bir noktada bir şeyi anlamıyorsunuz - Horstmann'ı izleyin, tekrar deneyin.
Kusurlar:
  • Bazıları kitabı biraz kuru bulabilir;
  • Pratik yok;
  • Hatalı Rusça çeviri.

"Java" Programlama yöntemleri". Blinov, Romançik

Bir keresinde bir forumda “Endüstriyel Programlama” adında bir kitabın olduğunu ve bazı güzel sorunları olduğunu okumuştum. Yalan söylemedikleri ortaya çıktı. Bunun bir kopyasını Belarusça EPAM web sitesinde PDF formatında buldum. Oradaki yayın en yenisi değil (Java 6'da), ancak kitap sağlam bir üniversite ders kitabı olarak yazılmıştır, yani bazı yerlerde sunum biraz ağır ve akademiktir. ANCAK! Gerçekten çok iyi bir Java programlama problemleri koleksiyonu ve test görevleri var. EPAM kursiyerlerinin bu kitaptan çalıştığını ve bu kitabın birçok çevrimdışı Java kursu tarafından da benimsendiğini söylüyorlar.

Oradaki görevlere yaklaşım JavaRush'tan biraz farklı, yani ortalama olarak buradaki görevler biraz daha karmaşık ve her biri mini değil mikro proje gibi. Bu yüzden JavaRush'u öğrencilere bile tavsiye ediyorum, çünkü kursun pratik tarafının dezavantajının, içindeki tüm görevlerin zaten tamamen tasarlanmış olması ve çok fazla ipucu olması olduğunu düşünüyorum. Diyelim ki bu koleksiyondaki OOP problemleri, aşağıda yazdığım “zamansız klasikler” kitaplarının yanı sıra bu OOP'yi çok iyi anlamamı sağladı. Kitap sanki gelecekteki "kürekçiler" için yazılmıştı, bu nedenle dağıtılmış sistemler geliştirmeye yönelik Hazırda Bekletme teknolojilerinin yanı sıra HTML, XML, JavaScript'in temellerini anlatıyor. “Endüstriyel Programlama” en iyi Java dersi olmasa da çok iyi bir ders kitabıdır. Ama buna önceden hazırlanmış olarak gelmeniz gerekiyor. Diyelim ki bir düzine veya iki düzeyde JavaRush'tan sonra. Daha sonra onun daha yeni ve gözden geçirilmiş basımını zaten “Java” adı altında keşfettim. Programlama yöntemleri."

Avantajları:
  • Sorunların ve test öğelerinin mükemmel seçimi;
  • Resmi bir ücretsiz sürüm var (bazı kök izleyicide değil, EPAM web sitesinde olduğu için resmi olduğuna inanıyorum);
  • C++ ile karşılaştırma.
  • EPAM stajının neleri kapsadığını anlama fırsatı.
Kusurlar:
  • Çok temel bir sunum. Ancak pratik yaparak tekrarlamak uygun olacaktır.
  • Java8 yok.

Zamansız klasik

Aşağıda hakkında yazdığım kitaplara yeni başlayanlar ve ileri düzey “javisteler” için kutsal metinler denilebilir.

Etkili Java, Joshua Bloch

Bu bir kitap değil, bir hazinedir ve yazarlarından biri olan Joshua Bloch'un yazdığı dilin temel ilkelerine odaklanmaktadır. Büyük ihtimalle kütüphanelerini zaten kullanmışsınızdır (örneğin Java Koleksiyonunda). Hemen rezervasyon yaptıracağım: Bazı dahi-hız koşucuları hariç, tamamen yeni başlayanlar, Etkili Java kitabına ihtiyaç duymazlar. Öncelikle, sözdizimine hakim olmak ve en azından biraz programlama pratiği yapmak, deyim yerindeyse, "bu işi öğrenmek" ve ardından Joshua Bloch'un yaratımını üstlenmek daha iyidir. Kitap, Java'yı gerçekten anlamak, bu dilde programlama yaparken doğru yaklaşımı oluşturmak, yalnızca nasıl yapılacağını değil, aynı zamanda tam olarak bu şekilde yapılması gereken diğer her şeyi anlamak isteyenler için faydalı olacaktır. Ve ayrıca OOP'yi derinlemesine anlamak isteyenler için (prensipte bunlar birbiriyle ilişkili şeylerdir). Bu kitap, programlamaya nesne yönelimli yaklaşım bağlamında Java hakkındaki en iyi ders kitabıdır. Avantajları
  • OOP konusuyla ilgili mükemmel bir materyal sunumu.
  • En iyi programlama uygulamaları sağlanmaktadır.
  • Yazar Java'yı içeriden çok iyi biliyor.
Kusurlar
  • Kitabın son baskısının (üçüncü) henüz çevirisi yok.

Java Felsefesi, Bruce Eckel

Bu kitabın başlığı kendisi adına konuşuyor. Bu, Java'yı bilmek isteyen herkes için başka bir "alfa ve omega"! Bu kitapta iyi ve net örnekler bulacaksınız ve onlardan Java'nın nasıl çalıştığını açıkça anlayacaksınız. İki kitaptan hangisinin - "Java Felsefesi" veya "Etkili Programlama" - hangisinin daha iyi olduğunu söylemek benim için zor. Eckel'in yeni başlayanlar için biraz daha arkadaş canlısı olduğunu, Bloch'un ise biraz deneyim gerektirdiğini söyleyebilirim. JavaRush'u yeni öğrenmeye başladığımda ilk olarak “Java Felsefesi” bölümünü okudum (sanırım ilk seviyelerden birinde önerilenler arasında listelenmişti). O zaman bana uymadı. Ancak 10 veya 12. seviyeden sonra bu bir şarkıydı! Ve şunu söylemeliyim ki, çok faydalı bir şarkı. Daha sonra Etkili Programlamaya geldiğimde buna geri döndüm. Şunu söyleyeyim: Bloch ve Eckel aynı şeyden ama farklı şekillerde bahsetsinler, farklı örnekler versinler. Avantajları
  • Bir profesyonelden Java ilkelerinin derinlemesine sunumu;
  • Başka dillerden geçiş yapanlar için iyi olacaktır; örneğin C++ ile pek çok karşılaştırma vardır.
  • Bana öyle geliyor ki 10. seviyede okumaya başlayabilirsiniz, ancak Eckel - biraz sonra.
Kusurlar
  • Çok başarısız Rusça çeviriler;
  • Kitabın Rusça yeni baskısının olmaması.

Kısa sonuçlar

  1. Hiçbir şey bilmeyenler için sıfırdan en iyi Java eğitimi - Head First Java;
  2. En iyi Java referans-ders kitabı ve referans kitabı “Profesyonelin Kütüphanesi”dir. Ve tabii ki Oracle dokümantasyonu.
  3. Java programlama görevlerinin en iyi koleksiyonu - JavaRush. Kitapların arasında - “Java. Programlama yöntemleri".
  4. En iyi zamansız klasikler “Java Felsefesi” ve “Etkili Java”dır. Bu, her şeyi gerçekten anlamaya karar veren herkesin, derinlemesine bir anlayış için mutlaka okuması gereken bir kitap. Ancak bunları yavaş yavaş ve sırayla okumak daha iyidir.
  5. Ek sonuç: bir fırsat var - İngilizce okuyun. Rusça çeviriler genellikle çok zayıftır.
Bu yazının İngilizce versiyonu: CodeGym'de yeni başlayanlar için Java hakkında en iyi kitaplar
Muhtemelen pek çok kişi şöyle diyecektir: "Java üzerine zaten pek çok iyi kitap yazıldı, neden bir tane daha?" Ve çoğu kişi için kitabım büyük olasılıkla yeni bir şey vermeyecek. Sonuçta, ana okuyucusu (muhtemelen) hiçbir programlama deneyimi olmayan bir kişi olmalıdır. Bir yandan, iyi ve eksiksiz bir açıklamaya sahip bir kitap almak yeterli görünüyor ve hepsi bu. Ancak pratikte bu durumdan çok uzaktır. Bir şey hakkında okumak yeterli değildir. Önemli olan onu nasıl kullanacağını anlamaktır. Belirli bir sorunu çözmek için farklı araç setlerini uyarlayabilme. Hangisini değerlendirin mevcut seçenekler daha iyi. Bu nasıl başarılır? Pratik. Önemsiz örnekleri analiz etme ve benzer sorunları kendi başınıza çözme konusunda birçok pratik yapın. Ancak ne yazık ki pratik her şey değildir. Bunun yanı sıra doğru seçilmiş, dozu ayarlanmış bir teorinin de olması gerekir. Bu, tüm bilgiyi bir anda okuyucuya aktarmayacağım anlamına geliyor. Şeylerin özünü daha iyi anlamak için kasıtlı olarak birçok şeyi basitleştireceğim. Umarım profesyoneller bunun için bana öfkeyle küfretmezler. Sonuçta okuyucu kitabımı okuduktan sonra daha detaylı bilgi sağlayan edebiyata geçebilecek ve bunu kendi başına anlayabilecektir.


Bölüm: Giriş (veya programlamayla ilgili bir hikaye)

Muhtemelen ilerleyen çağımızda birçok kişi "program" ve "programlama" gibi kelimeleri duymuştur. Ne olduğunu, nereden geldiğini ve şimdi hangi yönlere ayrıldığını bulalım.
Öncelikle "program" terimiyle başlayalım. Eğer basit kelimelerle O halde program, bilgisayara gerçekleştirmesi gereken bir dizi eylem veya talimattır. Bir programı çalıştırdığımızda, içinde belirtilen tüm komutları veya talimatları tek tek çalıştırırız. Buna göre programlama, program oluşturma veya yazma sürecidir.
Bir bilgisayar, bir programda yazılan komutları nasıl anlar veya çözer?
Aslında bir bilgisayarın gördüğü program ile bir kişinin ekranda gördüğü program, farklı dillerde yazıldığı için çok farklıdır. Bir bilgisayar makinesi yalnızca ikili kod adı verilen kodu, yani birlerin ve sıfırların belirli kombinasyonlarını anlar. Nedenmiş? Sürecin mekaniğine dönersek her şey basit. Komutlar, bir dizi kablodan (kanallardan) ve veri yolu adı verilen veri yolundan oluşan döngüler aracılığıyla bilgisayara iletilir. Kanalda elektrik sinyali var, bu da ünitenin geldiği anlamına geliyor. Sinyal yok - sıfır.
Ancak bir programcı tarafından yazılan bir programın metnini açarsak, sürekli bir birler ve sıfırlar dizisi gibi görünmeyecek ve tamamen "okunabilir" ve komutlara ayrıştırılabilir. O halde bir bilgisayar insanlar tarafından yazılan programları nasıl anlar? Ama burada sözde tercümanlar bir dilden diğerine çalışıyor. Bu çevirmenlere çevirmen denir. Çevirmenler iki türe ayrılabilir: derleyiciler ve tercümanlar. Derleyiciler programın tamamını çevirir ve onu özel yürütülebilir dosyalara kaydeder. Böyle bir programı çalıştırmak için ortaya çıkan dosyayı çalıştırmanız gerekir. Tercümanlar komutları çevrimiçi olarak çevirir ve anında uygular. Her seferinde bir komut: komutun çevrilmesi - çalıştırılması, sonrakinin çevrilmesi - çalıştırılması vb.
İkili koddaki komutların sayısı, çevirmenin çeviri yaptığı dilin karmaşıklık düzeyine bağlıdır. Dil, ikili koda yeterince yakınsa, böyle bir dilin bir komutu, ikili kodda 1'den (derleme) 10'a kadar komut içerecektir. Bu tür diller arasında örneğin Pascal, C bulunur. C++ ve Java gibi yüksek seviyeli diller için, yüksek seviyeli dil komutu başına ikili koddaki komutların sayısı 100 veya daha fazla olabilir.
Bir yandan derleyicilerin kullanımı daha iyidir çünkü tamamen makine diline çevrilen programlar daha hızlı çalışır. Ancak bu programlar yalnızca derlendikleri işletim sisteminde çalışır. Tercümanların avantajları arasında çapraz platform adı verilen, yani belirli bir işletim sisteminden (platform) bağımsızlık yer alır. Bu ne anlama gelir? Gerçek şu ki, aynı programı farklı işletim sistemlerinde çalıştırmak için farklı tercümanlar kullanılacaktır: Windows'ta bir tercüman, Linux'ta - diğeri, üçüncü işletim sisteminde - üçüncüsü vb. Ancak programın metni değişmeden kalır. ve açık, nerede açarsak açalım. Derlenmiş bir programla her şey daha karmaşıktır. İlk olarak, zaten makine diline çevrilmiş durumda ve onu normal biçimde görüntüleyemeyeceğiz. İkinci olarak, program açıkça belirli bir konuya odaklanmıştır. işletim sistemi ve bunu derlenmiş bir programda değiştirmek imkansızdır. Böyle bir hileyi yapabilmek için programcının anlayacağı dilde yazılmış kaynak programı alıp gerekli değişiklikleri yapıp başka bir platforma (işletim sistemi) derlemeniz gerekir.
Prensip olarak herhangi bir dil için hem derleyiciler hem de yorumlayıcılar geliştirilebilir. Örneğin hem derleyicilerin hem de tercümanların bulunduğu bu tür diller arasında Visual Basic bulunur. Ancak yalnızca derleyicilerin veya tercümanların bulunduğu bazı diller vardır. Örneğin Pascal dili için çok sayıda derleyici var ama yorumlayıcı yok (en azından ben onları duymadım). VBScript ve JavaScript dilleri için yalnızca yorumlayıcılar vardır.
Ayrı olarak, derleme ve yorumlama ilkelerinin bir kombinasyonunu kullanan programlama dillerini de ayırt edebiliriz. Java da böyle bir dil olarak düşünülebilir. Öncelikle Java ile yazılmış bir program bir derleyici tarafından işlenir. Ancak çıktı, makine kodu değil, daha sonra Java sanal makinesi tarafından yorumlanan bazı ara kodlardır (sözde kod veya bayt kodu). Java Sanal Makinesi, sözde koda dönüştürülen programın çalışacağı işletim sistemine kurulması gereken bir programdır.
Programlar nasıl ve nerede yazılır?
Çalışan bir program oluşturmak için neye ihtiyacımız olduğunu düşünelim. Öncelikle program metnini bir yere yazmamız gerekiyor. Bu da biraz ihtiyacımız olduğu anlamına geliyor Metin düzeltici bunu burada yapacağız ve kaydedebileceğiz. İkinci olarak bir derleyiciye veya tercümana ihtiyacınız olacak. Prensip olarak bu gerekli minimum miktardır. Fakat! Program yazarken tüm insanlar gibi bizim de hata yaptığımızı unutmamak gerekir. Öncelikle metinde hata yapabiliriz. Metin düzenleyicinin yazılı komutların sözdizimindeki en azından en basit hataları görebilmesi ve bir şekilde bizi bu konuda bilgilendirebilmesi (örneğin, Word'ün sıradan metinler için yaptığı gibi altını çizerek) uygun olacaktır. İkinci olarak, metindeki her şey doğru yazılmış gibi görünse de hiçbir şey beklendiği gibi çalışmadığında mantıksal hatalar meydana gelebilir. Bu durumda program çalışırken hataları bulmak için kullanışlı araçlara sahip olmak güzel olurdu.
Programcıların rahatlığı için, tüm kullanışlı araçlar özel programlarda - programlama sistemlerinde birleştirilmiştir. Genellikle özel bir metin düzenleyiciye, çevirmenlere, bir hata ayıklayıcıya (programın yürütülmesi sırasında hataları bulmak için) ve programcının zorlu çalışmasını kolaylaştıracak birçok kullanışlı araca sahiptirler. Bu tür "güzellikler", program parçalarının otomatik olarak oluşturulmasını, programların tek tıklamayla kolayca başlatılmasını (programlama sisteminin kendisi istenen çeviriciyi ve sonuçta çalıştırılabilir programı başlattığında) ve çok daha fazlasını içerir.
Genellikle bir dil için bir değil, birkaç programlama sistemi vardır. Her programcı doğal olarak kendisi için en uygun sistemi seçer. Örneğin Java için en yaygın programlama sistemleri "IntelliJ Idea", "Eclipse", "NetBeans"tır.
Yazar bunlardan ilkini tercih ettiğinden ve diğerleri henüz sizin tarafınızdan bilinmediğinden, uygulamamız için "IntelliJ Idea"yı kullanacağız.


Bölüm 1. Gerekli programların kurulması ve ayarlanması

Bölüm: JDK - Java Geliştirme Seti (Java geliştirme seti)

En önemli şeyle başlayalım - Java ile yazılmış programları geliştirmek ve yürütmek için bir dizi gerekli programın kurulması. Bu setin İngilizce dilindeki adı Java Development Kit veya kısaca JDK'dır. Gelecekte kullanacağımız son kısaltmadır.
JDK'ya neler dahildir?
JDK aşağıdaki bileşenleri içerir:
1) JRE - Java Çalışma Zamanı Ortamı (Java Çalışma Zamanı Ortamı)
Sahte kodu yürütmek için gereken bir dizi program ve kitaplık. Aslında bu, kendisi için derlenen programları çalıştırmak için gereken Java sanal makinesidir.
Not: Yalnızca derlenmiş Java programlarını çalıştırmak ve bunları derlemek istemiyorsanız, JDK'yı kurmanın bir anlamı yoktur. Yalnızca JRE'yi kurmanız yeterlidir.
2) derleyiciler
3) hata ayıklayıcılar
4) uzmanlaşmış kütüphaneler
5) ve diğer geliştirme araçları
Kütüphaneler nedir ve içlerinde neler bulunur?
Dildeki programlar yüksek seviyeçeşitli standart eylemleri gerçekleştirmek için hazır, kanıtlanmış kod parçalarını kullanın. Bu tür eylemler şunları içerir: bilgilerin ekranda görüntülenmesi, klavyeden veri girilmesi, standart matematiksel işlevlerin hesaplanması vb. Bu tür kod parçaları kitaplıklarda bulunur ve ayrı dosyalar olarak sunulur.
JDK'yı nereden alabilirim?
JDK'nın herhangi bir sürümü, resmi Oracle web sitesinden tamamen ücretsiz olarak indirilebilir. Bunu yapmak için önce herhangi bir İnternet arama motoruna şu arama sözcüklerini girin: “JDK indir”. Listedeki ilk site bizimdir.

Gerekli sürümün bulunduğu oturumda, önce “Lisans Sözleşmesini Kabul Et” seçeneğini seçin (İngilizce'den “Lisans sözleşmesini kabul ediyorum” olarak çevrilmiştir) ve ardından bu tabloda istediğiniz dosyaya tıklayın.
Bildiğiniz gibi Java platformlar arası bir programlama dilidir, yani içinde yazılan aynı program farklı işletim sistemlerinde aynı şekilde çalışır. Son özellik, farklı işletim sistemlerinde (platformlarda) farklı JRE ve JDK nedeniyle elde edilir.
Doğal olarak işletim sisteminize uygun kurulum dosyasını indirmelisiniz. Örneğin Linux üzerinde çalışıyorsanız Linux için uygun dosyayı seçin. Windows altındaysa - Windows için bir dosya.
JDK'yı 32 bit işletim sistemine kuruyorsanız x86 işaretli dosyayı indirin. 64 bit ise x64 olarak işaretlenir.
Not. Windows 7'deki sistem kapasitesini şu şekilde öğrenebilirsiniz: "Başlat"a tıklayın, "Bilgisayar"a sağ tıklayın, "Özellikler"i seçin. "Sistem tipi" özelliğinin değerine bakıyoruz.

Örneğin:

64 bit Windows işletim sistemi ve JDK 8u101 için gerekli dosyaşu isme sahip olacaktır:
"jdk-8u101-windows-x64.exe"

32 bit Windows işletim sistemi ve JDK 8u101 için gerekli dosya aşağıdaki adı taşıyacaktır:
"jdk-8u101-windows-i586.exe"

JDK nasıl kurulur ve düzgün şekilde yapılandırılır (Windows 7 için)?
Birinci Aşama: JDK'nın Kurulumu
JDK'yı kurmak için kurulum exe dosyasını istediğiniz JDK sürümüyle çalıştırmanız gerekir. Daha sonra kurulum adımlarını takip etmeniz yeterli.
Not: Aynı işletim sistemine JDK ve JRE'nin birden çok sürümü kurulabilir. İşletim sistemi ayarlarında bir tür JRE'yi (Java sanal makinesinin kullanacağı) ana JRE yapabilirsiniz. Bir proje için hem işletim sisteminde (tüm projeler için ortak olacaktır) hem de bu projenin yazıldığı programlama sisteminde belirli bir JDK ayarlayabilirsiniz.
64 bit işletim sistemine JDK 8u102 yükleme örneğini kullanarak tüm JDK yükleme sürecine bakalım Windows sistemi 7 (jdk-8u102-windows-x64.exe dosyasını çalıştırmanız gerekecektir).

1. İlk pencerede "İleri" düğmesini tıklamanız yeterlidir

2. İkinci pencerede öncelikle JDK'mızın kurulacağı klasörü seçin. Bunu yapmak için "Değiştir..." düğmesini tıklayın ve diskte istediğiniz konumu seçin.

Not: Farklı JRE sürümlerine sahip tüm klasörler için tek bir ortak konuma bağlı kalmanız önerilir. Yani paylaşılan klasörün yapısı aşağıdaki gibi olmalıdır:

Bu işlemin ardından “İleri” butonuna tıklayın.

İkinci aşama: Ortam değişkenlerini ayarlama
Programlama sisteminin programları için varsayılan olarak hangi jdk'yi kullanacağını bilmesi ve işletim sisteminin java dosyalarını tanıyabilmesi için işletim sistemimizde sistem değişkenlerini yapılandırmak gerekir.
Bunu Windows 7'de yapmak için aşağıdaki adımları uygulamanız gerekir:

1) Aşağıdaki ayarlara gidin:
"Başlat" düğmesi --> "Bilgisayar"a sağ tıklayın --> "Özellikler" --> "Gelişmiş Ortam Ayarları" --> "Gelişmiş" sekmesi --> "Ortam Değişkenleri..." düğmesi

2) “Sistem Değişkenleri” listesi altında “Oluştur” düğmesine tıklayın

3) Gerekli verileri girin ve "Tamam"a tıklayın:
Değişken adı JAVA_HOME
Değişken değer<путь к папке, куда устанавливалось JDK(не JRE!)>

4) Sistem değişkenleri listesinde "Yol" değişkenini bulun, seçin ve "Değiştir" düğmesine tıklayın.

5) “Değişken Değer” alanının sonuna gidin (hiçbir şeyi silmeyin!!!), aşağıdaki metni ekleyin ve “Tamam”a tıklayın:
;%JAVA_HOME%\bin\

6) Ortam Değişkenleri penceresi için Tamam'a, ardından Gelişmiş sekmesine tıklayın ve bilgisayarınızı yeniden başlatın.


Bölüm: IDE (Entegre Geliştirme Ortamı) "IntelliJ Idea" - Entegre geliştirme ortamı (programlama sistemi) "IntelliJ Idea"

"IntelliJ Idea" Java için en yaygın programlama sistemlerinden biridir. Kullanışlıdır ve programcının işini kolaylaştıracak birçok araca sahiptir. Kuşkusuz avantajlar arasında uygun fiyatlı ücretsiz sürümlerİnternetteki bu geliştirme ortamı.

Not. IDE (entegre geliştirme ortamı) terimi “programlama sistemi” kavramıyla aynıdır ancak profesyonel ortamda daha sık kullanılır.

"IntelliJ Idea"yı nereden alabilirim?
Bu IDE, JetBrains şirketinin resmi web sitesinden indirilebilir. Bunu yapmak için öncelikle herhangi bir İnternet arama motoruna şu arama kelimelerini yazmanız gerekir: “Intellij Idea”. Listede görünen ilk site bizim sitemizdir.


Bu yazımda Delphi'de programlamanın temellerini olabildiğince basit ve anlaşılır bir şekilde sunmaya çalışacağım.

Aptallar için Java. Ders 1. Merhaba Dünya!

Öncelikle size Java'nın neler yapabileceğini anlatacağım. İlk olarak, bu dilde web sitesinin web sayfasına gömülü programlar olan uygulamacıklar yazabilirsiniz. Örneğin bir oyun, bir iş grafik sistemi ve çok daha fazlası olabilir. İkinci olarak, Java'da mutlaka Web ile ilgili olmayan tam teşekküllü uygulamalar yazabilirsiniz. Veya servlet'leri kullanabilirsiniz - uygulamalardan farklı olarak istemci tarafında değil, sunucu tarafında yürütülen programlar.

En temel bilgilerle başlayalım. Geleneğe saygı gösterelim ve yazalım en basit program bir selamlama mesajı görüntüleyen Selam Dünya. Java'nız yoksa, daha sonra http://www.java.com/ru resmi web sitesinden indirilebilir. Daha sonra yükleyin.

Eğer Java yükledikten sonra aşağıdaki metni bir düzenleyiciye yazın:

Herkese açık sınıf Merhaba Dünya {

Genel statik geçersiz ana ( Dize bağımsız değişkenleri ) {

Sistem . dışarı . Yazdır ( "Selam Dünya!" );

}

}

Ve onu bu adla kaydettiğinizden emin olun. Selam Dünya. java- Yürütülebilir sınıfın adı dosya adıyla eşleşmelidir. Derlemek için programı kullanın javac.exe standart pakete dahildir Java. Bir derleme toplu iş dosyası böyle görünebilir bu Java dosyası:

"c:\Program Dosyaları\Java\jdk1.7.0\bin\javac" HellowWorld.java

Duraklat

Derleme sırasında herhangi bir hata oluşmazsa:

o zaman, büyük olasılıkla derleme sizinkinde HellowWorld'ün bulunduğu dizinde başarılı oldu. java HelloWWorld de ortaya çıktı.sınıf:

Şimdi derlenmiş dosyamızla birlikte Java yorumlayıcısını çağıracak başka bir toplu iş dosyasını çalıştıralım:

"c:\Program Dosyaları\Java\jdk1.7.0\bin\java" HellowWorld

Duraklat

Her şey doğru yapılırsa şu sonucu almalısınız:

Eğer aldıysanız sizi tebrik edebilirim; ilk programınızı Java ile yazdınız. Gelecekte Java uygulamalarının nasıl yazılacağını ve çok daha fazlasını öğreneceğiz. Ve şimdi programın kendisi hakkında birkaç söz. Fark ettiğiniz gibi public kelimesiyle başlıyor. Bu, herkese açık bir şeyi bildirdiğimiz anlamına gelen bir değiştiricidir: bir sınıf, bir sınıf yöntemi veya bir değişken. Örneğin başka değiştiriciler de vardır: özel, korumalı, dost canlısı, nihai, soyut, statik. Bazıları birbirleriyle birleştirilebilir. Örneğin, özel, bildirmek istediğimiz değişkenin diğer sınıflara özel olduğu anlamına gelir. Ancak değiştiriciye daha sonra ulaşacağız. Şimdi bir sonraki anahtar kelime olan sınıfa bakalım. Bu, bir sınıf ilan ettiğimiz anlamına gelir. Java'da her şey sınıflara dayanmaktadır. Sınıflardan biri mutlaka temel olanıdır. Ve temel sınıf herkese açık olmalıdır. Bu örnekte HelloWord sınıfıdır. Şimdilik elimizdeki tek kişi o.

Şimdi ne olduğunu basit kelimelerle açıklamaya çalışacağım Sınıf ve nedir bir obje.

Okulun zooloji dersini hatırlayalım. Yaşayanlar dünyası nasıl sınıflandırılır? İlk olarak “krallık” kavramı tanıtılıyor.

1. Tek hücreli organizmalar krallığı,

2. Bitki krallığı

3. Hayvan Krallığı.

Hayvanları ele alalım. Türe göre bölünebilirler. Örneğin:

1. Koelenteratlar yazın.

2. Yassı solucan türü.

3. Kabuklu deniz hayvanı türü.

4. Filum kor verileri.

İkincisi memelilere, sürüngenlere, amfibilere, kuşlara vb. ayrılır. Sınıflandırmayı daha da derine inebilirsiniz, ancak bunu şimdi yapmayacağız, doğrudan programlamaya geçeceğiz.

Java dilinde, yaşayan dünyanın sınıflandırılmasına benzer şekilde nesneleri (program parçaları ve veriler) sınıflandırabilirsiniz. Bunun için sınıfları var.

Dur dur! - diyorsunuz ki - neden bu nesneleri sınıflandırıyorsunuz?

Bir demiurge (yaratıcı, tanrı) gibi, Dünya'daki yaşamı yarattığınızı hayal edin. İlk önce en basit organik bileşikleri geliştirdiniz. Peki, deney uğruna, ne olacak? Daha sonra bunları karmaşık moleküller halinde birleştirdiler ve tuğlalar gibi en basit mikroorganizmaları bir araya getirdiler. Ancak nihai hedefiniz akıllı yaşamın yaratılmasıdır. Dolayısıyla burada durmadınız, çok hücreli organizmalar yarattınız. Daha sonra bunları iyileştirmeye, geliştirmeye başladılar. Bazı türlerin yaşayabildiği ortaya çıktı, bazılarının nesli tükendi (dinozorlar). Ve sonunda hedefe ulaşıldı - Homo Sapiens - Homo sapiens - ortaya çıktı.

Şimdi dünyaya inelim ve programlamayı, programınızı kullanılabilecek belirli bir duruma gelişmeye zorladığınız ve daha sonra yavaş yavaş işlevselliği artırıp geliştirdiğiniz bir yaratım olarak hayal edelim.

Şimdi bir atomun en basit program komutu veya bir bilgi birimi olduğunu hayal edelim (gördüğünüz gibi bunlar birbirinden ayrılamaz, çünkü program bir şeyle, bu doğru, bilgiyle çalışır).

O halde molekül bir altprogramdır. Veya bir nesne.

Böylece programımızda bir sürü nesne oluşturduk. Kafaların karışmaması için bunları bir şekilde sınıflandırmamız gerekiyor. Java'nın sınıfları sağladığı şey budur. Bunları kullanarak, bir nesne sınıfını tanımlarız (genel bir kavram, örneğin kuşlar) ve sonra tanımlanan sınıfa sahip olarak, bu sınıfın bir örneğini oluşturan bir nesne yaratabiliriz. Yani benzetmemize devam edersek, sınıf Kuşlar kelimesinin kendisidir ve nesne belirli bir kuştur.

Ayrıca kuşlar farklı türlerde gelir. Ancak hepsinin “Kuş” kavramından miras kalan bazı ortak özellikleri vardır. Benzer şekilde Java'da, bir sınıftan, onun özelliklerini ve yöntemlerini (özelliklerini) miras alan başka bir sınıf oluşturabilirsiniz. denir miras.

Farklı kuşların farklı tüy renkleri, gaga ve kanat şekilleri vardır. Aynı şekilde sınıflar için de yeni bir sınıf oluşturulurken miras alınan özellikler değiştirilebilir. denir polimorfizm.

Böylece Java'nın temel kavramlarını çözdük. Şimdi programa geçelim.

Bir sınıfı şu şekilde ilan ederiz:

genel sınıf Merhaba Dünya {

Bu durumda programımızda tek bir sınıf bulunmaktadır ve bu da temel sınıf yani programın başlatılmasından sorumlu olan sınıftır. Bu nedenle, yorumlayıcının programı çalıştırmaya nereden başlayacağını "bilmesi" için adı dosyanın adıyla eşleşmelidir.

Temel sınıfın (HelloWorld) bir temel yöntemi vardır: main. Bunu public ve static olarak ilan ettik. Birincisi, yöntemin herkese açık olduğunu gösterir. Eğer böyle olmasaydı programımız başlamazdı. Herkese açık olmayan yöntemler de var ama sonraki derslerde bunlardan bahsedeceğiz, şimdilik sadece temel yöntemin (programı başlattığımızda başlatılan) herkese açık olması gerektiğini unutmayın. Ve yorumlayıcının programı çalıştırmaya nereden başlayacağını bilmesi için adı main olmalıdır.

Şimdi statik olan nedir? Bu, yöntemin statik olduğunu gösteren bir değiştiricidir. Yani sınıfın (nesnenin) bir örneği oluşturulmadığında bile çalışır. Genel olarak, statik değiştiricili alanlar ve yöntemler sınıfın tüm nesneleri için ortaktır. Bu konuyu da daha sonra konuşacağız.

Her yöntemin bir dönüş değeri olabilir veya olmayabilir. Eğer öyleyse, o zaman bu bir fonksiyondur. Dönüş değeri türü de yöntem bildirimine dahil edilir. Değilse, bunu void olarak ayarlayın (örneğimizde olduğu gibi).

Bir nesnenin alanlarına ve yöntemlerine erişim bir nokta aracılığıyla gerçekleşir. Örneğimizde kullandığımız Sistem gibi yerleşik nesneler de vardır:

Sistem . dışarı . Yazdır ( "Selam Dünya!" );

bu durumda, aynı zamanda veri çıkışı için tasarlanmış bir nesne olan out alanına erişiriz ve metni ekranda görüntüleyen yazdırma yöntemini çağırırız (eski güzel BASIC'teki PRINT komutu gibi).

(C) Şuravin İskender

Ve web sitesi oluşturma giderek daha popüler hale geliyor ve çok sayıda insanın dikkatini çekiyor. Özel eğitimi olmayan bir kişi bile program geliştirmeye başlayabilir, asıl önemli olan yeni materyaller öğrenme arzusu ve arzusu ve sürekli uygulamadır.

Çalışma Seçenekleri

Programlamayı sıfırdan öğrenmeye nereden başlamalı?Bu alanda yeni materyallere hakim olmanın birkaç yolu vardır. Özel öğretmenler size programlamayı sıfırdan öğrenmeye nasıl başlayacağınızı gösterecek ve kod oluşturmanın önemli yönlerini öğretecek. Ancak bu yöntem oldukça pahalı olduğundan esas olarak aşağıdaki öğretim yöntemleri kullanılır:

  1. Uzmanlaşmış kurslar. Maliyetleri kişisel bir öğretmenin derslerinden çok daha azdır. Birçok işverenin, bilgisayar akademilerinde eğitimin tamamlanmasına ilişkin çeşitli sertifikaların bulunmasına olumlu yanıt verdiğini belirtmekte fayda var. Dünyaca ünlü şirketler Microsoft ve Cisco'nun kurslarına dikkat edin.
  2. Uzaktan ücretsiz kurslar. İnternette Oxford, Harvard ve dünyadaki diğer ünlü eğitim kurumlarının derslerini görüntüleyebileceğiniz çok sayıda hizmet bulunmaktadır. Pratik programlama becerilerini eğitmek için özel platformlar da vardır. Makalenin devamında uzaktan öğrenme ve kullanışlı İnternet hizmetleri hakkında daha fazla bilgi edinin.
  3. Kendi kendine öğrenme. Kurslara kaydolmayı ve para harcamayı planlamıyorsanız programlamayı sıfırdan öğrenmeye nereden başlayabilirsiniz? Bu durumda en kolay yol kendinizi eğitmektir. Temelleri okuyarak çalışmaya başlamalısınız, teoriye dalmayın, hemen uygulamaya başlayın, çünkü yalnızca bir program oluşturma sürecinde gerekli becerileri kazanacaksınız.

Size uygun eğitim seçeneğini seçtikten sonra konu alanına karar vermelisiniz çünkü programlama oldukça geniş bir yelpazeye sahiptir.

Doğru yön nasıl seçilir?

Gelecekte oluşturacağınız yazılımın türüne doğrudan bağlıdır:


Maaş sizin için en önemli faktörse dikkatinizi iş piyasasına çevirin. Günümüzde en çok talep görenler Java, C#, ASP.NET, C++ dillerinde uzmanlaşmış geliştiricilerdir.

Düşük ve yüksek seviyeli diller. Fark ve Uygulamalar

Tüm programlama dillerinin yüksek seviyeli ve düşük seviyeli olarak ikiye ayrıldığına inanılmaktadır. Düşük seviyeli kodun bilgisayar tarafından işlenmesi daha kolaydır ancak yazılması uzun zaman alır ve daha fazla alan bilgisi gerektirir. Bu tür diller (örneğin montaj), dijital çipler ve mikrodenetleyiciler için yazılım yazmak için kullanılır. Programlamayı sıfırdan öğrenmek için pek uygun değiller. Makalenin ilerleyen kısımlarında dünyaca ünlü yazarların sunduğu faydalı hizmetler ve literatür, ilk programlarınızı yazmaya nereden başlayacağınızı size söyleyecektir.

Üst düzey dillerin kullanımı çok daha kolaydır çünkü kodu basitleştirmek ve görselleştirmek için yerleşik kitaplıkları kullanırlar. Çoğu modern yazılım, üst düzey diller kullanılarak yazılmıştır.

Sıfırdan programlama: uygulamalara nereden başlamalı?

Mobil programlar oluşturma süreci, programcıların en son araçlarla çalışmasına ve bunun sonucunda para kazanma yoluyla makul miktarda para kazanmalarına olanak tanır. Öncelikle çalışacağınız siteyi seçmeniz gerekir:

  1. Google Oyun. Android işletim sistemi kullanıcıları için uygulama mağazası. Bu işletim sistemi piyasadaki en büyük kullanıcı payına sahiptir. Uygulama ve oyun geliştirmek için Java ve C/C++ dilleri kullanılmaktadır. En popülerleri mesajlaşma uygulamaları ve istemcileridir. sosyal ağlar, Bulut depolama, oyunlar.
  2. Windows Mobil Mağazası. Bu mağaza, Microsoft'un akıllı telefonlarıyla birlikte hızla popülerlik kazanıyor. BDT ülkelerinde çoğu kullanıcı Windows Phone platformuna dayalı tabletleri tercih ediyor. Böyle bir mağaza için programlama uygulamaları, para kazanmadan daha fazla para kazanmanıza yardımcı olur, çünkü Android'in aksine, Windows mağazasındaki hemen hemen tüm programlar ücretli olarak dağıtılmaktadır.
  3. Uygulama mağazası. Geliştirme için başka bir karlı platform (dil - Objective-C). Apple aygıtları için program oluşturma süreci, Xcode adı verilen önceden yüklenmiş bir geliştirme ortamını gerektirir. Bir sonraki adım Objective-C programlamayı sıfırdan öğrenmektir. David Mark'ın “Learning C for Mac” adlı kitabı size kod yazmaya nereden başlayacağınızı söyleyecektir. İkinci baskı."

Java dili

Çoğu profesyonel geliştirici, programlama bilginize Java diliyle başlamanızı önerir. Öğrenmesi kolaydır ve aynı zamanda piyasada talep görmektedir. Programlamayı sıfırdan öğrenmeye karar verirseniz aşağıdaki ipuçlarını kullanın. Java geliştirmeye nereden başlamalı?

Java, modern web uygulamalarının ve oyunların çoğunu geliştirmek için gerekli olan üst düzey nesne yönelimli bir programlama dilidir. Derleme işlemi sırasında (yazılı kodun cihazın anlayabileceği dile çevrilmesi), kod bir bayt dizisine dönüştürülür, böylece program herhangi bir platformda kolayca test edilebilir. sanal makine Java.

Sıfırdan programlama. Java ve Web kodlamaya nereden başlamalı?

Java dili web geliştirmede yaygın olarak kullanılmaktadır. Tam teşekküllü programlama sürecine başlamadan önce Java, PHP, MySQL, HTML, CSS öğrenmelisiniz. Bu kavramların daha ayrıntılı bir açıklaması aşağıda verilmiştir:

  1. Java - web siteleri için yardımcı programların yazılmasında ve web sayfası işlevselliğinin mantığının yazılmasında kullanılır.
  2. PHP kişisel web sitesi sayfaları oluşturmaya yönelik bir dildir. Script yapısına sahiptir. Günümüzde popüler olan dinamik web siteleri oluşturmanın önde gelen dili. Betik yazmayı ve programlamayı sıfırdan anlamak için PHP gereklidir. Nereden başlamalı? Josh Lockhat'ın "PHP: The Right Way" adlı kitabını okuyarak.
  3. MySQL, verilerin temellerini yönetmeye yönelik bir sistemdir. Büyük miktarda gruplandırılmış verinin depolanmasını gerektiren web sitelerinin oluşturulmasında yaygın olarak kullanılır.
  4. HTML bir programlama dili değildir. Bu, bir web sayfasının tabanını yazmak için kullanılan bir işaretleme dilidir (yapı taşları, metin ve paragrafların dağıtılması vb.).
  5. CSS - Basamaklı Stil Sayfası. Biçimlendirme diline stil ve görünüm kazandırmak için yalnızca HTML ile birlikte kullanılır.

Ancak bu teknolojilerin kilometre taşlarının temel kavramlarını öğrenerek günümüzde büyük talep gören profesyonel, dinamik web siteleri oluşturmaya başlayabilirsiniz.

Web programlama. Alaka düzeyi ve özellikler

Web programlama konusu bugün özellikle önemlidir. Yukarıda belirtildiği gibi, web öğelerini geliştirmeye başlamak için işaretleme dilleri, komut dosyaları oluşturma, mantık ve stiller hakkında oldukça fazla bilgiye sahip olmanız gerekir.

Günümüzde yalnızca HTML ve CSS kullanılarak oluşturulan sitelerle kimseyi şaşırtmayacaksınız, bu nedenle bir siteyi görsel olarak güzel hale getirebilen ve siteyi kullanıcılar için gerekli tüm işlevlerle doldurabilen web geliştiricileri talep görmeye başladı.

Bu tür bir geliştirme, aynı programın iki türünün oluşturulmasını gerektirir: sunucu ve istemci parçaları. Programcı, sunucu ile istemci arasında ağ üzerinden gerekli bilgi akışının iletilmesine izin veren veri paketleri olan soketlerin çalışma prensibini anlamalıdır.

Windows işletim sistemi için uygulamalar oluşturma

Bu tür programlar geliştirmek için C# dili bilgisine ihtiyacınız olacak. Microsoft'un Virtual Academy adlı ücretsiz hizmeti, bu dilin tüm özelliklerini öğrenmenize ve basit uygulamalar yazma pratiği yapmanıza olanak tanır.

Microsoft'un yeni politikasına göre tüm uygulamalar yazılım mağazasına yüklenir, böylece projenizden para kazanmak için erişim sağlayabilirsiniz.

C dil ailesi (C, C++, C#). Özellikler

Sıfırdan programlama - dil seçmeye nereden başlamalı? Bu sorunun cevabı, uygulama oluşturma teknolojileri türlerini daha ayrıntılı olarak inceleyerek elde edilebilir. Belirli bir dilin alaka düzeyi de dikkate alınmalıdır.

C, C++, C# dillerinin ortak bir yanı vardır: OOP (nesne yönelimli programlama) fonksiyonlarının varlığı. Bu teknoloji, program kodu yazma sürecini önemli ölçüde basitleştirmenize olanak tanır. Her yazılım nesnesi belirli bir sınıfta tanımlanır ve kendine ait parametreleri, yöntemleri ve özellikleri vardır. Böylece, aynı nesnenin birkaç kez kullanılması gerekiyorsa programcının her seferinde büyük kod parçaları yazmasına gerek kalmaz.

Programlamanın temel prensiplerini ve herhangi bir uygulamanın kod yapısını öğrenmek için faydalı İnternet hizmetleri

Eğitimin ilk aşamasında, hemen hemen her web hizmeti, üst düzey dillerin en basiti olan Pascal'ı kullanarak yeteneklerini denemenizi sağlayacaktır. Eğitim amaçlı kullanılır ve öğrencilerin programlamayı sıfırdan anlayabilmeleri için okullarda ve teknik kolejlerde öğretilir. Pascal kodlamaya nereden başlamalı? Öncelikle geliştirme ortamını bilgisayarınıza indirmeniz gerekiyor. Bu, program kodunun yazılacağı küçük bir yürütülebilir dosyadır. TurboPascal'ı kullanın çünkü bu programlama dilini öğrenmek için en popüler ortamdır.

HourOfCode, Microsoft'un bir web hizmetidir. Öğrencilere döngünün, değişkenin, sınıfın ve koşulların ne olduğunu açıkça göstermek amaçlanmaktadır. Öğrenme süreci bir oyun gibidir.

CodeAcademy neredeyse her türlü kodlama teknolojisini öğrenmek için güçlü bir kaynaktır. Günde sadece bir saatinizi ayırarak, programlamayı ve kendi projelerinizi yaratmayı nasıl öğreneceğinizi bile fark etmeyeceksiniz.

Udacity, kullanıcılarına ünlü profesörlerin ve geliştiricilerin derslerine ücretsiz erişim sağlayan bir hizmettir.

Başlangıç ​​deneyimi kazanmak. Serbest çalışma

Seçtiğiniz dilin temel prensiplerini öğrendikten sonra ilk projelerinize güvenle başlayabilirsiniz. Serbest çalışmaya başlayın, çünkü bu şekilde portföyünüzü dolduracak ve müşterilerle iletişim kurma konusunda deneyim kazanacaksınız. Bir şirkette resmi yazılım geliştiricisi olarak iş bulmak istiyorsanız bu tür beceriler gelecekte faydalı olacaktır.

Sonuç olarak

Sıfırdan programlama: nereden başlamalı? Dünyaca ünlü üniversitelerden profesörler, aptallar için herhangi bir programlama dilinin temelini oluşturan temel yapılarla pratik yapmayı tavsiye ediyor. Özel kurslara kaydolun veya çevrimiçi dersleri dinleyerek kendi kendinize çalışın.

Bugün itibariyle Java, tüm programlama dilleri arasında en ünlü ve popüler olanıdır. Başlangıçta Sun Microsystems tarafından geliştirilen 1996 yılında var olmaya başladı. Zamanla Oracle Corporation tarafından emildi. Geliştiriciler, Java'yı neredeyse tüm görevlere uygulanabilen evrensel bir dil haline getirmeyi planladılar.

Geçtiğimiz 23 yılda Java büyük ölçüde genişledi ve gelişti. Bugünkü mevcut sürüm, geçen yıl Eylül ayında piyasaya sürülen Java 11'dir. Bu süre zarfında Java genel amaçlı bir dilden daha fazlası haline geldi. Kendi ekosistemine sahip tam teşekküllü bir platform denilebilir. Bugün dil gerçekten her şey için kullanılabilir: küçük programlar oluşturmaktan devasa İnternet portallarına kadar. Genellikle bilinen tüm bilgisayarlar, akıllı telefonlar ve akıllı cihazlar için yazılım geliştirmek amacıyla kullanılır. Android'deki uygulamaların çoğu Java ile yazılmıştır.


Java'nın Özellikleri

Pek çok özelliği vardır, ancak en önemli özelliği kodu özel bir dile dönüştürme ilkesidir. bayt kodu, platforma bağlı değil. Daha sonra bu bayt kodu JVM'de işlenir. Bu faktör Java'yı diğer yorumlanan dillerden ayırır. perl, vb. Bunlarda kod hemen tercümana gider. Öte yandan, Java da tamamen derlenmiş bir dil değildir (C benzeri diller gibi).

Alışılmadık mimari sayesinde Java tabanlı uygulamaların platformlar arası ve taşınabilirliği sağlanır. Bu tür ürünler Windows, Linux, Mac OS'ta çalıştırılabilir ve kodun yeniden derlenmesine bile gerek kalmaz. JVM'nin tüm platformlarda uygulanması farklılık gösterebilir ancak prensip ve uygulama aynı kalır.

Java'nın sözdizimi C dillerine yakındır; ve'yi çok andırıyoruz. C benzeri dillerden birine bilginiz varsa Java’yı anlamak zor olmayacaktır.

Dilin bir sonraki önemli özelliği- otomatik olarak tüm çöpleri toplar ve hafızadan kaldırır. Pratikte bu, Java'nın kullanılmayan ve geçerliliğini yitirmiş nesneleri ek komutlara gerek kalmadan bellekten kaldırdığı anlamına gelir. Diğer dillerde bunun manuel olarak yapılması ve uygun komutların periyodik olarak yazılması gerekir.

Java nesne yönelimli bir dil olarak sınıflandırılır. Kalıtım, polimorfizm ve daha fazlası için destek var. Bu yaklaşım ölçeklendirilmesi, genişletilmesi ve düzenlenmesi kolay büyük projeler oluşturmaya yardımcı olur.

Oldukça hızlı bir şekilde öğrenilebilen nispeten basit bir dildir. Üzerindeki çerçeveler sayesinde, düşük seviyeli kodlarla uğraşmadan, birkaç komutla PC'lerde ve akıllı telefonlarda web siteleri, oyunlar ve uygulamalar için standart işlevsellik oluşturabilirsiniz.


Tepe