Programlama felsefesi üç yönlü programlamadır. Programlamanın ahlaki ve etik sorunları

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. bunu söylemeyeceğim iyi kitap programlamayla ilgili herhangi bir makalenin yerini alacak, bu ö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;
  • Bir yetkili var ücretsiz sürüm(Bazı kök izleyicide değil, EPAM web sitesinde olduğundan 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 kitapların adları şunlar olabilir: kutsal metinler yeni başlayanlar ve ileri düzey "javisteler" için.

Etkili Java, Joshua Bloch

Bu sadece bir hazine, bir kitap değil ve ona adanmıştır. temel prensipler Yazarlarından biri olan Joshua Bloch'un dili. 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 ve yalnızca nasıl yapılacağını değil, 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" daha iyidir. 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.


Amerikalılar tamamen dünya edebiyatına ve hatta daha da fazlasını İngiliz dili edebiyatına bağlıyorlar. Amerikan kurgusunun sözde altın çağının, sonuncusu olmasa da, dünya edebiyatının gelişiminin son turlarından biri olduğunu söylemek daha doğru olur.

Uyuşturucu bağımlısı olan Bulgakov, Dostoyevski ve Tolstoy'un başarılarını çıkmaz bir yönde geliştirmeye çalıştığında, ortaya çıktığı gibi, esasen Rus klasik edebiyatını gömdüğünde, İngilizler kitle sanatının zamanının geldiğini fark ettiğinde ve artık yalnızca dedektif hikayeleri ve bayağılık okunacak ve yazarlar İnsan olmaktan çıkacaktı; bu dönemde Amerikalılar, arabaları ve uzayı değil, sözde bilimsel düşünceyi ve yaşama arzusunu teşvik eden yepyeni bir evren keşfedip bu evreni doldurdular. gelecekte. Olayın kültürel boyutu hafife alınıyor. Bütün dünya sonuçlarla dolu. Günümüzde sosyal zekanın dolgusu olarak edebiyat ikincil bir oyuncu; şimdilik Hollywood, TV ve İnternet hakim ve İnternet'in hakim olduğu zaten açık. İnternet, kendilerini asla böyle görmeyen Heinleinit'ler ve Asimov'cular tarafından yaratıldı ve geliştirildi; bilim kurgunun ruhu, Silikon Vadisi'ndeki girişimciliğe nüfuz ediyor.

Artık edebiyat hakkında iç geçirmek için çok geç, gelecek nesil her yerden her şeyi özümseyecek bir kasetle büyüyecek, Shakespeare'i, Bulgakov'u, Galkovsky'yi, Verne'yi ve Zelazny'yi özümseyecek. Belki de anonimleştirilmiş düşünceleri, dijital bir nehir gibi dijital çakıl taşlarına dönüşen taşlar gibi parşömen boyunca süzülecektir. Ve yeni nesiller bu nehirden içecek ve bu nehrin hangi antik kağıt ve mürekkep rezervuarından geldiğine dair hiçbir fikirleri olmayacak. Ve sadece en meraklı olanlar, kökenleri aramak için üst kısımlara tırmanacak ve antik kalıntıların sefaletine hayret ederek, en sevdikleri sitedeki yemlerinin ışıltılı modernlik çeşitliliğine geri dönecek.

Amerikan modernitesine bilim kurguyla büyüyenler ile toplumun daha arkaik kesimi arasındaki bir savaş olarak bakın. Shakespeare okurları hâlâ zirvede; çocukluklarından itibaren ilerlemek için babalarının sırtına bıçak saplamaları öğretiliyor. Amerikalılar için sorun, kendi büyük kültürlerinin eksikliği değil, başka yerlerde olduğu gibi kültürün yerini çekişmeye bırakmasıdır. Yüz yıl önce, küresel kraliyet bürokrasisinin her şeye kadir olduğunu hissettiği ama çoktan dağılmaya başladığı Britanya İmparatorluğu'nu yok eden de tam olarak bu tür bir çekişmeydi. Benzer bir şey Merkez Komite ve Politbüro'da da yaşandı. Şimdi ana soru kültür - herkesin herkesle kavga etmesinin nasıl yavaşlatılacağı. Bir bütün olarak edebiyat ve kültürün vektörü, dökme demirden yapılmış bir rögar kapağı gibi bu soruya dayanmaktadır. Her yoruma yapışıyor.

Aslında devletlerin, bir nevi “Amerikalıların”, “Almanların” varlığı internet devleri için kârlı değil; tarihte ilk kez dünya hakimiyeti araçlarına sahipler; güvenilir barındırma için ABD'ye geçici olarak ihtiyaç duyuluyor. nükleer kalkanlı sunucular. Zamanla İnternet devlet aygıtını yutacak, bir yönetici memurun üstüne çıkacak ve ardından İnternet girişimcileri dünya çapında yeni bir etnik grup ve yeni bir aristokrasinin yaratılmasının çekirdeği haline gelecek. İnternette, insanların feodal özü çok hızlı bir şekilde tanıdık biçimlerde kristalleşiyor; bunu modern ilkel sosyal ağlarda ve uygulamalarda fark etmek çok zor.

İnternet, tekillik noktasına kadar gelişen ve daha sonra ortaya çıktığı dünyayı ele geçiren “Skynet”tir, ancak yapay zeka yerine en üst sınıf kullanıcılar hegemon olacaktır. Bu sınıfı kimin, büyük olasılıkla Amerikalıların ve tam olarak Asimov ve ortaklarının üzerinde büyüyen kısmın kimlerden oluşacağı henüz belli değil, ancak iyi şanslar Ruslar ve Çinliler, yalnızca bu üç kültür kendi İnternet ortamlarını geliştiriyor, geri kalanı Amerika, Çin veya Rus'a sıkı sıkıya bağlı. Bu anlamda gerçek bir “Rus milliyetçisi” bir Yandex programcısıdır. Amerikalıların metrik sisteme geçmemiş olmaları çağın gerisinde oldukları anlamına gelmiyor. teknik ilerleme, tüm dijital sistemlerin, bundan sonra da tüm kültürlerin ve toplumların çekirdeği haline gelen programlama dillerini yaratıp dünyaya empoze ettiler. ANA ŞEYE ve program SİTELERİNE odaklanmanız gerektiğinde, literatürü ve diğer felaket yan ürünlerini geliştirmenin ne anlamı var? Not: Yapmak değil, edebi anlamda beste yapmak değil, çizmek değil, programlamaktır. Çünkü internet toplumunda programlama diliyle donanmış bir kişi, kılıç çağındaki bir patlayıcıya benzer bir avantaja sahiptir. Ve oluşturulan programlama dillerinin sayısı açısından Amerikalılar, hayal bile edilemeyen Britanya İmparatorluğu'nun payıyla dünyanın hegemonudur.

Yazım denetleyicim blaster kelimesini bile bilmiyor, yani bilim kurgudan önceki bir dünyada yaşıyor.

Yeni başlayan biri için büyük dünya edebiyatını okumak bir eksi, bilim kurgu bile zaten bir eksi, sizi temellendiriyor, sizi somutlaştırıyor. Branson ve Musk bilim kurguyla büyüdüler ve bu nedenle makineler yaratmaya odaklandılar, çünkü bilim kurgu zaten arkaiktir, internetten önce yaşamıştır. Modern bilim kurgu, modern kültür bir mikroblogdur, bir veri deposudur, modern uzay uçuşu "bir startup'ın bir milyon kullanıcısı" veya aşırı durumlarda "bir video blogunun bir milyon görüntülemesi"dir. Ve seçimler Amerikan Başkanı veya Rusya Duması bu hiçbir şeyle ilgili değil, özünde ilginç değil, yani iki akşamlık bir gösteri, asıl mesele ana dönüşüm sürecinin nasıl gittiği, Duma ve bir bütün olarak devletin ne kadar sürede halka açık bir şey haline geleceği ve olacağıdır. klikler tarafından mı kontrol ediliyor? Tek soru bu “halk” için yazılım yazmaktır. Ancak daha sonra bunun hakkında daha fazla bilgi vereceğiz.

Giderek daha sık insanlar felsefenin bir bilim olarak kendini kaybettiğini söylemeye başladı. Aristoteles, Demokritos ve Sokrates zamanlarının felsefe gelişiminin sonu olduğu ve artık insanların kesin bilimlerle meşgul olduğu ve felsefeye yer kalmadığı. Ancak felsefe etrafımızdaki şeylere bir bakış ve bu dünyada kişinin kendisini tanımlamasıdır. Teknolojik ilerlemenin bir sonucu olarak İnsan, etrafındaki dünyayı incelemenin yeni yollarının yanı sıra dünyayı ve kendisini etkilemenin yeni yollarını da elde etti. Biz insanların teknolojik gelişmeler arasında hangi yeri işgal ettiğimizi anlamamız gerekiyor. Çünkü teknoloji tüm insanlığın gelişiminde yeni fırsatlar açtığı gibi aynı zamanda büyük bir tehlikeyi de gizlemektedir.

Programlama genellikle sanatla karşılaştırılır. Bu, programların artan karmaşıklığıyla birlikte, özel eğitime sahip ve daha da önemlisi, giderek karmaşıklaşan elektronik beyne "hayat verebilecek" özel bir düşünme biçimine sahip insanlara ihtiyaç duyulduğu gerçeğiyle doğrulanıyor. Derin programlama süreçlerinin anlaşılmasında “bilgi” kavramı önemli bir rol oynamaktadır. Bilgi, kişinin beyninden maddi veya elektronik ortama aktardığı bilgidir.

Bilgisayarların insan düşüncesi üzerindeki ters etkisini hesaba katmamak da zordur. Teknolojik ilerlemenin etkisiyle insanın hayatı ve manevi değerleri nasıl değişiyor?

İlginç bir gerçek şu ki, programlar yalnızca sizi ve beni (elektronik ürün tüketicileri) değil, aynı zamanda programcıların kendilerini de etkiliyor. Programın yaratıcısı çalışırken makine kategorilerinde düşünür ve bunu çevresindeki insanlara aktarmaya başlar. Bir programcı, bir bilgisayarla uzun süre çalışırken özel bir zihniyet geliştirir. Bilgisayarın belirtilen işlemleri gerçekleştirmek için kesin talimatlara ihtiyacı vardır.

Bilgisayar düşünme

Bir resmi boyarken sanatçının son vuruşu yaptığı ve böylece resmi bitirdiği bir an vardır. Aynı şey program yazarken de geçerlidir. Ve programcı programı “büyük” hayata gönderdiği andan itibaren bağımsız yaşamaya başlar. Burada “yapay zeka” diye bir kavramdan söz edebiliriz; bu, “beyin” kavramıyla olduğu kadar “düşünme” kavramıyla da bağlantılıdır. Elbette insan beyni ile bilgisayarın dışarıdan hiçbir ortak yanı yoktur, ancak benzerlikler bulunabilir. .

Konuşma ve müzikal işitme gibi benzersiz insan yetenekleri, soyut düşünme nispeten stabil olan nörodinamik beyin yapılarının işlevleridir. İnsan beyninin çalışması ile bilgisayar programı süreçlerinin aktivitesi arasında tam bir benzerlik vardır. Bir bilgisayar çalışırken, milyonlarca transistörden geçen elektriksel impulslar (aynı zamanda nöronlardan geçen impulslar da) kullanılır. Fakat bu sürece düşünme denilebilir mi? Sonuçta düşünme, nesnel dünyayı belirli sorunların çözümüyle ilişkili kavramlara, yargılara, teorilere vb. yansıtmanın aktif bir sürecidir.

Var iyi örnek kendi kendine öğrenen sistemler adı verilen türden. Bu sistemler, deneme yanılma yoluyla olumlu bir karar hakkında bilgi toplar ve daha sonra benzer bir durumdan doğru bir şekilde çıkmak için bu bilgilerle çalışır. Kendi kendine öğrenen sistemlerin dünyayı “öğrendiği” sonucuna varabiliriz ancak çıkarım yapma eğilimindeler mi? Tabii ki değil. Sistem, kazanılan deneyim üzerinden çalışır ve eğer durum, içinde bulunulan durumdan biraz farklı olsa bile, o zaman bir çıkmaza "ulaşacaktır". Belli bir durumdan kaçma şansları yoktur ve program ne kadar iyi yazılırsa yazılsın sadece bir çözüm seçer ve eğer durum bilgisayara tanıdık gelmiyorsa başarısız olur.

Bu, artık bilgisayarların olduğu gibi bilgisayar programlarının da düşünemediği sonucunu doğurmaktadır.

Programlamanın ahlaki tarafı

“Bilgisayar virüsleri” ifadesi hayatımızda sağlam bir şekilde yerleşmiştir. Bilgisayarla karşılaşmış bir kişi bu terimi duymuş, bazıları da doğrudan onun yıkıcı etkileriyle karşılaşmış. Peki bu bilgisayar virüsleri nelerdir? Bunlar diğer programların algoritmasını değiştiren, verileri silen, kullanıcının normal çalışmasını engelleyen özel olarak yazılmış programlardır.

Bu programlar insanlar tarafından yazılıyor ama soru şu: Bu kişiyi ne motive ediyor?

Uygulamaya dayalı olarak virüslerin çoğunluğu teröristler tarafından değil, üstünlüklerini göstermek, başkalarının yapamadığını yapabildiklerini göstermek isteyen insanlar tarafından yaratılmıştır. Bu insanlar çalışabilirler, ancak çoğu zaman bunu aylaklıktan yaparlar. Bu insanlar vandalizm yapan türden insanlardır. Çatışan arzular tarafından yönlendirilirler. Bu kişi gerekli becerilere sahipse, bir bilgisayar virüsü yazabilir.

İnsan ahlaki deneyiminin oluşturulduğu toplumun etik standartları, vandalizme ve dolayısıyla vandalizmin bir tezahürü olarak bilgisayar virüslerine karşı olumsuz bir tutuma sahiptir. Ve tabii ki, eğer yüksek ahlaki ilkelere sahip bir kişi, herhangi bir program kodundan önce, bu programın diğer insanlara fayda sağlayıp sağlamayacağını, bu bilgisayar programının insanları gülümsetip gülümsetemeyeceğini ve programcının bunlara ne zaman cevap vereceğini birkaç kez düşünecektir. sorular sorarak işe koyulacaktır. Ve yalnızca bu tür insanlar iyi bir şey yaratmaya çalışan profesyonel programcılar olacaklar.

Çözüm.

Bu makalede tartışılan hususlar kapsamlıdır ve tek bir makalede tamamen ele alınamaz. Programlama, gelişen ve genç bir bilim olarak, felsefi görüş. Bu makalede anlatılan sorunlar, bilimsel ve teknolojik ilerlemeyle ilgili felsefi konuların bir parçası olarak değerlendirilebilir. Bilimsel ve teknolojik devrimin bize yönelttiği bunlar ve diğer pek çok felsefi soru hâlâ felsefi anlayışı ve modern filozofların yakın ilgisini gerektirmektedir.


Kaynakça

  1. Varfolomeeva T.N., Ovchinnikova I.G. öğretici programlama üzerine. [Metin]: ders kitabı. kılavuz / Magnitogorsk: MaSU, 2005. UMO olarak sınıflandırılmıştır. – 104 sn.
  2. Varfolomeeva T.N., Ovchinnikova I.G., Platonova O.I. Programlama metodolojileri. [Metin]: ders kitabı. kılavuz / Magnitogorsk: MaSU, 2007. – 204 s.
  3. Varfolomeeva, T.N. Nesne yönelimli programlama üzerine laboratuvar çalıştayı. [Metin]: ders kitabı. ödenek / T.N. Varfolomeeva, I.Yu. Efimova - Moskova, 2014. (2. baskı, basmakalıp)
  4. Varfolomeeva, T.N. PASCAL dili örneğini kullanarak yapılandırılmış programlama üzerine laboratuvar çalıştayı [Metin]: ders kitabı. ödenek / T.N. Varfolomeeva, S.A. Povitukhin. – Magnitogorsk: MaSU, 2013. – 123 s.
  5. Varfolomeeva, T.N. Bilgisayar bilimlerinde Birleşik Devlet Sınavı ve BT'ye hazırlanmak için bir kılavuz [Metin]: ders kitabı. 2 parçalı kılavuz, Cilt. Bölüm 1. Algoritma ve programlama / T.N. Varfolomeeva, I.G. Ovchinnikova. – Magnitogorsk: MaSU, 2006. – 128 s.
  6. Varfolomeeva, T.N. Bilgisayar bilimlerinde merkezi testlere hazırlanmak için ders kitabı [Metin]: ders kitabı. ödenek / T.N. Varfolomeeva, I.G. Ovchinnikova, N.G. Korneshchuk Magnitogorsk: MaSU, 2002. – 205 s.
  7. Varfolomeeva, T.N. Eğitimsel ve metodolojik el kitabı bilgisayar bilimleri giriş sınavlarına hazırlık için [Metin]: ders kitabı. ödenek / T.N. Varfolomeeva, I.G. Ovchinnikova, E.N. Guseva Magnitogorsk: MaSU, 2002. – 116 s.
  8. Efimova, I.Yu. Bilgisayar modelleme [Metin]: koleksiyon pratik iş 2. baskı, basmakalıp / I.Yu. Efimova, T.N. Varfolomeeva. – Moskova: Flinta LLC, 2014. – 67 s. ISBN: 978-5-9765-2039-4
  9. Efimova, I.Yu. Bilgisayar bilimlerini öğretmek için yöntem ve teknolojiler Eğitim Kurumları mesleki Eğitim[Metin]: eğitim yöntemi. kılavuz 2. baskı, basmakalıp / I.Yu. Efimova, T.N. Varfolomeeva. – Moskova: Flinta LLC, 2014. – 41 s. ISBN 978-5-9765-2040-0
  10. Movchan I.N. Üniversitelerde bilgisayar bilimi öğretiminde yenilikçi yaklaşımlar // Modern Bilimsel araştırma ve yenilik. – 2014. – Sayı 5-2 (37). – S.45.
  11. Movchan I.N. Üniversite öğrencileri için bilgi eğitiminin bazı yönleri // Koleksiyon bilimsel çalışmalar Sworld. – 2008. T.18. – Hayır. 1. – S. 34-36.
  12. Movchan I.N. Bir üniversite öğrencisinin mesleki eğitim sürecinde bilgi faaliyetinin pedagojik kontrolü: dis. ...cand. ped. Bilimler/Movchan Irina Nikolaevna; Magnitogorsk Devlet Üniversitesi. – Magnitogorsk, 2009, – 205 s.
  13. Ovchinnikova I.G. Kişilik eğitiminin etkililiğinin değerlendirilmesi [Metin] / I.G. Ovchinnikova, V.A. Belikov, L.V. Kurzaeva // Mesleki eğitimde sosyal ortaklık Tüm Rusya bilimsel ve pratik konferansının bildirileri. FGOU DPT "Magnitogorsk Devlet Mesleki Pedagoji Koleji", Rusya Eğitim Akademisi Ural Şubesi ilk ve orta mesleki eğitimin kalite yönetimi sorunlarının araştırılması için laboratuvar: koleksiyon. ilmi Sanat. Magnitogorsk, 2010. – S. 178-187.
  14. Ovchinnikova, I.G. Programlama üzerine problem kitabı atölyesi [Metin]: eğitim yöntemi. ödenek. / I.G. Ovchinnikova, T.N. Varfolomeeva. – Magnitogorsk: MaSU, 2009. – 77 s.
  15. Sakhnova T.N., Ovchinnikova I.G. Bilgisayar bilimi derslerinde arama algoritmaları lise[Metin] // Bilgisayar bilimi ve eğitimi. – 2010 – Sayı 11 – S. 79-83.
  16. Sakhnova T.N., Ovchinnikova I.G. Programlama problemlerini çözmek için algoritmaları sıralama [Metin] // Bilgisayar Bilimi ve Eğitim. – 2011. – Sayı 2 – S. 53-57
  17. Sakhnova, T.N. Algoritmanın temelleri [Metin]: ders kitabı. kılavuz, 2. baskı, revize edilmiş. ve ek / T.N. Sakhnova, I.G. Ovchinnikova. – Magnitogorsk: MaSU, 2002. UMO damgası altında. – 131 s.
  18. Sakhnova, T.N. Üniversite öğrencilerinin mesleki bilgi düşüncesinin oluşması için pedagojik koşullar [Metin]: dis. ...cand. ped. Bilimler: 13.00.08 / T.N. Sakhnova. – Magnitogorsk, 2003.
  19. Sakhnova, T.N. Bilgisayar bilimlerinde Birleşik Devlet Sınavı ve BT'ye hazırlanmak için bir kılavuz [Metin]: ders kitabı. 2 parçalı kılavuz, Cilt. Bölüm 2. Temel kurs / T.N. Sakhnova, I.G. Ovchinnikova. – Magnitogorsk: MaSU, 2006. – 128 s.
  20. Chusavitina, G.N. Uzaktan kullanımın yarattığı riskleri yönetmek için bir modelin geliştirilmesi eğitim teknolojileriüniversitede [Metin] / G.N. Chusavitina, M.O. Chusavitin, T.N. Varfolomeeva // Yenilikçi ekonomi için BT uzmanlarının eğitiminin “Uygulamalı Bilişim” yönünde iyileştirilmesi: koleksiyon. ilmi tr. Moskova, 2008. – S. 216-218.
Yayının görüntülenme sayısı: Lütfen bekleyin

Programlama öğrenmeye değer mi?

“Programlama” çok geniş bir kavramdır. Bazı programlama dilleri diğerlerinden çok daha kolaydır. Bazı diller, programın bilgisayarla nasıl "konuştuğunu" anlamayı gerektirir. Kodları öğrenmenin en önemli kısmı bakımıdır. doğru hareket Düşünme. Önemli olan kendinize "Bunu yapabilirim" demek ya da gerekli literatürü okumak değil...

Mesele şu ki...

Programlamayı öğrenmek mi, öğrenmemek mi?

Basit HTML'den karmaşık C++'a kadar herhangi bir bilgisayar dilinde okuryazarlık, yalnızca teknolojiye değil aynı zamanda onun sonsuz değişikliklerine de bağlılığı gerektirir. HTML5'in bir nedenden dolayı bir sayıyla bitmesi. Yeterli sayıda web tarayıcısı HTML6'yı desteklemeye başladığında, geliştiricilerin yeniden yeni bir şeyler öğrenmesi gerekecek.

Kendinizi yeni bir öğrenme sürecine dahil etmek istemenizin olası nedenleri:

  • Güven Kazanın: Bir programlama dili öğrenirlerse bilgisayarların kendileri için daha az korkutucu olacağını düşünen birkaç müşterim oldu.
  • Gereklilik: Teknik sorunlar her an ortaya çıkabilir.
  • Heyecan: Bazı insanlar sadece yeni beceriler öğrenmek ister.
  • Neyin mümkün olduğunu anlamak için: Bir geliştirici "Yapılamaz!" Bunun gerçekten mümkün olmadığını mı söylüyor yoksa bu baş ağrısına katlanmak istemiyor mu?

Her zaman meraklı ol

Kimse ön camında böcek olmak istemez. Bana göre insanları korkutan başarısızlık korkusu değil, kaybolma ihtimali korkusudur. Ezici umutsuzluk aşağılık duygularını teşvik eder. Cesaret ve azim, bunalmış hissetmenin panzehiri değildir, ancak bu duygu yerleşmeden önce erken durmak en iyi ilaçtır.

Herhangi bir projeyle ilgili bir sorunu çözmek için üç yaklaşımım var:

  • Seni rahatsız eden bir konu bul

Şartlar ve ödeme gayet iyi. Ama hiçbir şey size ulaşamayacağınız bir kaşıntıdan daha büyük bir telaş veremez. Gelecek vaat eden bir gelecekte programlama başlı başına bir amaç olmamalıdır. “Gıcırdayan kapılar için yağlayıcınız” olarak hizmet etmelidir.

  • Ekstra çabanız için ödüllendirilmelisiniz.

Herkesin bildiği kaşıntıyı bulan kodlamayı öğrenen insanlar da rahatlamalı. Hiçbir öğretici, hiçbir araç, hiçbir övgü kimsenin KOD ustası olmasına yardımcı olamaz. Ancak “Bunu ben yazdım ve... bak ne yaptım!” sözlerinden sonra. sanki bir engeli aşmış gibi hissedeceksiniz. Kendiniz deneyene kadar kulağa aptalca gelecektir. Test edilmiş ve işe yarayan kod, size adrenalin patlaması yaşatacak ve bilgisayar programlama ustası olduğunuzu hissetmenizi sağlayacaktır.

  • Beyniniz iştahlıyken projeniz yapılmalı

Beynini çalıştır. Eğitmenler zorlarken insanları kendilerini sınırlarının biraz daha ötesine zorlamaya teşvik eder. Öğrenme açlıktır. Beyninizin her zaman yeni bilgiye iştahı vardır.

Günlük pratik yapın

Programlamayı öğrenmenin ve onu sonsuza kadar hatırlamanın tek yolu her gün pratik yapmaktır. Her yeni beceriyi öğrenirken olduğu gibi, yeni amaç ve hedeflerin tutarlı bir programı, becerilerinizi yavaş yavaş mükemmellik noktasına taşıyacaktır.



 

Okumak faydalı olabilir: