Gönderen Konu: Yakın Gelecekte Herkes Program Yazabilecek Mi?  (Okunma sayısı 22526 defa)

Hızlı düğmeleri aç

gibraltar

İleti: 122

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
Adamlar "hemen hemen" doğal dil ile yazılmış metinleri program koduna, daha doğrusu düzenli ifadeye dönüştürebilecek bir algoritmadan bahsetmişler.
Akademik dökümantasyonları da ekte vermişler. [1][2]
http://web.mit.edu/newsoffice/2013/writing-programs-using-ordinary-language-0711.html

Yakın gelecekte, en azından basit ingilizce ile kod yazmak mümkün olabilir mi? Böyle bir durumda programcı olmayanlar da kod yazabilir mi? Bence başlangıç seviyesi işler için programcı olmayanlara bir şeyler yaptırabilir, ama o kadar, daha fazlası değil.
Muhtemelen bu çalışmalar belli bir noktaya gelmiştir, acaba algoritmayı kullanan kurumsal ölçekte sağlam bir sistem ne zaman ortaya çıkar?

Fikirleriniz almak isterim.
"Yok öyle bişey" tarzı cevapları kabul etmiyorum. :)

(Konuyu yanlış yere açtım sanırım, "geyik" bölümüne taşınabilir, coding mevzusunu ilgilendirse de doğrudan coding durumu yok.)
« Son Düzenleme: 11.07.2013 22:38:10 Gönderen: ray »
Bilgehan Korkmaz

Yakın Gelecekte Herkes Program Yazabilecek Mi?

« Yanıtla #1 : 12.07.2013 09:46:11 »
Hızlı düğmeleri aç

Dilemma


  • Ziyaretçi
Ben kendimce bunları gereksiz buluyorum. Zira bir çok kez ve hâlen programlama öğrenmeye çalışan biri olarak şunu söyleyebilirim ki.

cout << "Merhaba";
ekrana Merhaba yaz

Önemli olan bu değil. Okuma yazması olan herkes bunu öğrenebilir. Önemli olan mantık ve algoritma kısmını oturtabilmekte diye düşünüyorum.

Yakın Gelecekte Herkes Program Yazabilecek Mi?

« Yanıtla #2 : 14.07.2013 07:39:49 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
bu konuyu Endo'ya havale ediyorum. Endo, buyur kardeşim, söz senin. :)

Yakın Gelecekte Herkes Program Yazabilecek Mi?

« Yanıtla #3 : 16.07.2013 16:07:36 »
Hızlı düğmeleri aç

endo

İleti: 687

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.moldibi.com
Benzer konuları daha önce bolca tartıştığımızdan konuyu bana havale etmiş Skate :)

"Yakın Gelecekte Herkes Program Yazabilecek Mi?", elbette şu anda da isteyen herkes program yazabilir :) Elbette burada kastedilenin bu olmadığının farkındayım.
Karmaşık ifadeler ve bir grup kafayı kırmış insanın anlayabildiği garip semboller olmadan program yazmakla ilgili bir kaç deneme yapıldı,
Bunlar içinde en beğendiğim 1990'da çıkan Amiga Vision görsel programlama diliydi (bildiğim kadarıyla bu derece görsel olan ilk dildi) http://www.youtube.com/watch?v=u7KIZQzYSls
Yakın zamanda benzer iddialarla çıkan başka örnekleri de var: http://livecode.com/ (http://runrev.com/) "Neredeyse ıngilizce" gibi bir yazım şekline sahip olmasına karşın belirli bir karmaşıklığı aşamadığını düşünüyorum.

Benim düşünceme gelince; bu işin hayalimizdeki gibi olmasının "yakın" zamanda olacağını sanmıyorum, öte yandan orta-uzun vadede bu konuda gelişmeler olacağı kesin; örneğin geçenlerde verilen metnin paragraflarının "ne hakkında olduğunu anlayabilen" bir yapayzeka uygulamasına rastladım.

Basit ifadelerle program yazmayı mümkün kılmak için en kuvvetli yolunun Domain Specific Language (DSL) olduğunu düşünüyorum (http://en.wikipedia.org/wiki/Domain-specific_language); bu, belirli işleri yapmak için tasarlanmış mini diller (ya da bir dilin içindeki bir sub-language) olarak düşünülebilir. Örneğin aşağıdaki ifade tamamen geçerli bir program parçası:

wait until 12:00:00 then send mail me@example.com "Yemek vakti!"

Eğer bir dil kendi DSL'inizi kolayca yapmanızı sağlıyorsa; müşterinize, kendinize ya da kardeşinize kullanması için "basit" bir dil sunabilirsiniz. Bu noktada günümüz dillerinin pek başarılı olabildikleri söylenemez. Başarılı olamamalarının en büyük nedeni context-independent olmaları, yani IF kelimesinin kullandığımız dilde (Java, C# vb.) her yerde, o bildiğimiz IF (keyword) anlamına gelmesi, farklı bağlamlarda farklı anlamlara gelemiyor olması. Yine de bu konuda umut vadeden çalışmalar var.

Son olarak, hayalimizdeki gibi "ben konuşayım bilgisayar yazsın" noktasına gelmemiz  ya da "bana köşeden iki lahmacun kap gel" şeklinde bir programlama diline sahip olmamız çok olası değil, ancak bugünkü kadar karmaşık olmasının bir gereklilik olmadığını biliyorum.
- endo of glance -

Yakın Gelecekte Herkes Program Yazabilecek Mi?

« Yanıtla #4 : 02.08.2013 16:42:16 »
Hızlı düğmeleri aç

endo

İleti: 687

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.moldibi.com
Konuyla ilgili olduğundan paylaşıyorum: http://vimeo.com/71278954

32dk'lık bir video, ilk 29 dakikayı çok dikkatli izleyin, son 3 dakikayı daha da dikkatli izleyin.
- endo of glance -

Ynt: Yakın Gelecekte Herkes Program Yazabilecek Mi?

« Yanıtla #5 : 27.12.2013 22:44:52 »
Hızlı düğmeleri aç

alobarnon


  • Ziyaretçi
son gönderdiğiniz videoyu atlaya atlaya izledim, ki tahmin edeceğiniz üzere son kısmı atlamadan izledim :D

Aslında anlatılan şey "programlama"dan hatta ve hatta "teknolojiden" çok daha geniş bir konu...

şimdi burada konuyu 2 parçaya ayırmam gerekiyor:
1- Mesela ben ekmek pişirmeyi bilmiyorum...
2- Mesela ben dikiş dikmeyi bilmiyorum...


1'inci konuda, ekmek pişirmeyi bilmeyen insanların nesli neden tükenmiyor sorusunun cevabına ihtiyaç var, bu cevap da, ekmeğin ömrünün bir iki gün olması, böylesı kısa bir ömre sahip olduğu için, sürekli olarak pişirilmesi gerekiyor, bu yüzden ister istemez nesilden nesile geçiyor, ustadan çırağa, babadan oğula, mecburen...

2'inci konuda, dikiş dikmeyi bilmeyen insanların nesli neden tükenmiyor sorusunun cevabına ihtiyaç var, bu cevap da, dikilen şeylerin zamanla aşınması ve yırtılması sonucu sürekli tamire ihtiyaç duymasıdır, bu yüzden ister istemez nesilden nesile geçiyor, ustadan çırağa, anadan kıza, mecburen... Aslında bu konu dikişle başlayıp teknolojiye kadar herşeyi açıklıyor...

Ve şimdi bu düşünceleri bir güzel harmanlayınca ortaya şöyle bir şey çıkarabiliyorum:
Böyle bir şey hiçbir zaman olmayacak, çünkü donanım denen şey de bir gelişim gösteriyor, doğal olarak donanım denen şeyin gelişim göstermesi, temel programlamanın kesinlikle unutulmasını engeller çünkü yeni bir donanımı işe yarar kılabilmek için sürekli olarak temel programlama dünyanın dört bir tarafında kullanılmaya devam edecektir.

Bu konunun üzerine ben de bu videoyu paylaşıyorum çok güzel bağdaştı valla videolar:
http://www.ted.com/talks/matt_ridley_when_ideas_have_sex.html

izlerken sıkılırsanız 13:30'uncu dakkaya ileri sarın :)
« Son Düzenleme: 27.12.2013 23:08:40 Gönderen: alobarnon »

Ynt: Yakın Gelecekte Herkes Program Yazabilecek Mi?

« Yanıtla #6 : 27.12.2013 23:28:51 »
Hızlı düğmeleri aç

gibraltar

İleti: 122

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
Programlama dillerinin insan ve makinaya yakınlık bakımından seviyelere ayrıldığını biliyoruz.

CPU emirlerini yukarıdan aşağıya işleyen, basit dallanmalarla bir takım mantıksal mekanizmalar sunan diller var. Aslında çok farklı donanım mimarileri için farklı farklı makrolar çalıştıran bir kaç major assembly dili veya tek başına makine dili var diyelim.

Bir de donanımla doğrudan hiç bir ilişkisi olmayan, aslında tümüyle uygulamaya yönelik diller var. Javascript, Python, PHP, Java vs.

Örneğin onlarca farklı cpu ve binary biçimi için javascript yorumlayıcısı var.
Javascript'i kullanan biri arkaplanda işin nasıl yürüdüğüyle ilgilenmiyor. Javascriptin kendi hafıza yönetimi, tür esnekliği mevcut. Yani dil bunları ve burada saymadığım onlarca işi gayet güzel, verimli yönetebiliyor.

Öyleyse bu seviye işinin esasında bir donanımdan soyutlanma işi olduğunu söyleyebiliriz. Şimdi içerisinde bulunduğumuz durum zaten yeterince donanımdan soyut aslında.

Buna göre "Konuşur gibi program yazılabilir mi?" veya  "Yakın Gelecekte Herkes Program Yazabilecek Mi?"

Çok spesifik problemler için bu mümkün olmasa bile, gelişen donanımlardan bağımsız olarak mümkün gibi görünüyor bence. Ve bunun donanımla değil de dil algılama mekaniğinin çözümlenmesiyle ilgisi var.

Yani problem yalnızca bilgisayarla ilgili de değil. Dil bilimi, yapay zeka, örüntü analizi, veri madenciliği gibi farklı bilimsel mecraları da işin içine katarak birlikte yürütülmesi gereken bir konu bu.
Üstelik çok büyük verilerin hızlıca analiz edilmesi gibi gereksinimler de var olduğundan belki bu günün bilgisayarlarıyla deneysellikten öteye gidemeyecek bir süreçten bahsediyoruz.

Ben bir masal anlatıyorum ve beni dinleyen beyinlerin %95'i masalı tam da benim anlattığım gibi anlıyor değil mi? Ne kadar ayrıntıya girersem o kadar iyi anlıyorsunuz.
Bunu beyin nasıl gerçekleştiriyor, biz bu işi bilgisayarda nasıl modelleyebiliriz?
Soru bu olmalı gibi...
Bilgehan Korkmaz