İlk Yazılım
-
Sordugunuz konu cok kapsamli. Yani windows ile ilk bilgisayar cok alakasiz ve uzak konular. Internette bir suru yazi var.
Charles Babbage, Alan Turing, Lady Ada bilgisayarin baslangic tarihindeler.
-
Https bunu yazdı
Kendi kavradığım kadarıyla anlatayım hocam. Öncelikle işin kökünde yer alan İşlemci dediğimiz Elektronik alet milyarlarca Transistör dediğimiz yarı iletken komponentler den oluşur ve bu komponentler mevcut mimarilerde sadece 1 ve 0 diye de bahsedilen elektrik var/yok şeklinde çalışıyor.
İlk bilgisayar bir oda büyüklüğündeydi denilmesinin sebebi, geçmişteki elektronik komponetlerin şimdiki kadar çok çok küçük olamaması. Tabi bu transistörler günümüzde bir yere kadar küçültülebiliyor ,çünkü çok küçültülünce bu sefer elektronlar karşı tarafa geçmeye başlıyor. Kuantum bilgisayarlarda ise mimari çok daha farklı. Zaten mevcut mimarilerde daha fazla küçülmeye gidilemediği için, kuantum bilgisayarlar geliştirildi.
Kuantum bilgisayarlar hakkında söyleşi:
m.youtube.com/watch?v=aFNzhQMCAmo
çeşitli Lojik kapılar ve Transistörler ile işlemci denilen ,ve içerisinde; alu(a'ritm'etik ve mantık(karşılaştırma(logic)) birimi(unit yada yeri))), register, veri yolu, adres'leme, ram, rom,eprom gibi bölümlerden. oluşturuluyor. Bu oluşturulan mimari ile, sadece 1 ve 0 la iletişim kurulabildiği için, ve bu oldukça zor olduğu için Assembler denilen bir Derleyici geliştiriliyor, ve assembly dili ile yazılan komut setlerini, işlemci dili olan 1 ve 0 lara çevriyor bu derleyici.
Tabi bu dil ile iletişim kurmanın artısı var, eksisi var. Makine diline yakın olduğu için hızlı, ama bir mimari için yazdığın komut seti, başka mimari'de çalışmayabilir. Çok çok daha az yer kaplar ,ama öğrenmesi ve okuması oldukça zor, gibi gibi. Buralarda bana söz hakkı düşmez gerçi bu forumda gerçekten bu konularda uçmuş kişiler var.
Bu anlattığım hikayeye benzer şekilde assembly üzerine farklı yaklaşımlarda ve insan diline giderek yaklaşan şekilde, diller geliştiriliyor. Ve bu makina ile iletişim kurabileceğimiz diller, giderek çeşitlenmiş ve gündelik konuşma diline yaklaşmıştır. Hatta öyle bir hal almış ki artık "chicken chicken" yazarak veya çeşitli sembollerle makine ile iletişim kurulabilen ezoterik diller tasarlamışlar.
https://esolangs.org/wiki/Brainfuck
https://esolangs.org/wiki/chicken
Edit: Eksik kavradığım bir yer varsa düzeltirseniz sevinirim hocalar.
Bu mesaj çok hoşuma gitti.
şu video'ya da sonra bakayım.
bi'de şu Lady Ada'ya bi bakayım. (bre @Garga. bu G'arga'nın hangi özelliğini beğendin? özelden de sorayım.)
~@~
@HusnuWeb ^^D`
-
Kaynak 1: https://www.webtekno.com/ilk-mekanik-bilgisayarin-mucidi-charles-babbage-ile-tanisin-h22565.html
Kaynak 2: https://tr.m.wikipedia.org/wiki/Programlama_dili (Programlama dilleri)
Kaynak3 : https://tr.m.wikipedia.org/wiki/Bilgisayar_donan%C4%B1m%C4%B1 (donanım)
Kaynak4: https://tr.m.wikipedia.org/wiki/Yaz%C4%B1l%C4%B1m (yazılım)
Ucu çooooook açık bir konu. Bir kaç kaynak bıraktım. Az çok temel bilgisayar konuları. Donanım, yazılım, Programlama dilleri vb.
-
apollo görevlerinde ilk entegre transistör kullandıkları ile ilgili makaleler var.
bungörsel belgeseller işlemcinin yapılışından programlanmasına kadadar ayrıntılı anlatılıyor
-
bilgisayar demek 0 ve 1 demek (quantum bilgisayari saymazsak). yani 0 ve 1 leri tutan her sey bilgisayardir :) baslangic da bu zaten.. Transistörün bir görevi de budur. O yüzden islemcilerde milyarlarca transistör mevcut.. Eskiden micro düzeyde transistörler olmadigi icin oda büyüklügünde makineler vardi... Hatta elle 1 ve 0 degerleri veriliyordu.. Transistör gelistikce bilgisayar da gelisti. Yani transistör olmasaydi suan günümüz pc leri böyle olmazdi... O yüzden elektronigin temeli transistördür.
TRADIC (for TRAnsistor DIgital Computer or TRansistorized Airborne DIgital Computer)
https://en.wikipedia.org/wiki/TRADIC
-
Her program, bir programlama programı ile yazılıyorsa ilk programlama programı nasıl yazıldı?
-
NoktaliVirgul bunu yazdı
Her program, bir programlama programı ile yazılıyorsa ilk programlama programı nasıl yazıldı?
hocam bir üst mesajimda yazdigim gibi her sey 1 ve 0. Islemci dedigin sey bu sekilde calisiyor. Senin dedigin programlama yapma programi (IDE), arkaplanda bir compiler barindiriyor. Bu compiler yazdigin kodu cesitli formatlara cevirir. En son asamada yani program calistirildiginda bu programin islemci tarafindan is görebilmesi icin 1 ve 0 lara yani makine diline dönüstürülmesi gerekiyor (yazarken tabi hexadecimal olarak yazabilirsin ama CPU'nun aritmatik mantik birimi (ALU) 1 ve 0 ile calisir). Yani makine dili kullanarak da aslinda program yazabilirsin, yani 1 ve 0 lar kullanarak. Ama bu isi yapmak baya zor o yüzden düsük, orta ve yüksek seviyeli programlama dilleri cikti. Seviye yükseldikce yazilim yapma isi kolaylasir. Mesela assembly düsük seviye bir dil. Assembly düsük seviye bir dil ve assembly ile masaüstü program yapabilirsin, ama ayni programi C# ile de yapabilirsin.. C# yüksek seviyeli bir dil (bu konuda baya bir tartisma var olup olmadigina dair :) ),seviyesi daha yüksek oldugu icin daha kolay, insana hitap ediyor. Ama temelde yine .net'in compileri önce IL koduna (MSIL .net icin,-> IL: intermediate language ara dil) daha sonra da JIT compileri makine diline cevirip islemcinin anlayacagi seviyeye indirir.
Olay bu aslinda :)
Kisaca özetlersek: sen yüksek seviyede kod yaziyorsun ama compiler bunu makine diline dönüstürür.. :) (c#/vb.net kodu -> (MS)IL kodu -> makine kodu)
-
tamda istediğim gibi güzel cevaplar aldım
-
unbalanced bunu yazdıNoktaliVirgul bunu yazdı
Her program, bir programlama programı ile yazılıyorsa ilk programlama programı nasıl yazıldı?
hocam bir üst mesa'jimda yazdigim gibi, her sey 1 ve 0. Islemci, dedigin sey bu sekilde calisiyor.
Senin dedigin Programlama Yapma program'i (IDE), arkaplanda bir compiler barindiriyor. Bu compiler, yazdigin kod'u cesitli format'lara cevirir.
En son asamada, yani Program calistirildiginda bu programin islemci tarafindan is görebilmesi icin, 1 'lere ve 0 'lara ,yani Makine Diline dönüstürülmesi gerekiyor (yazarken tabi HexaDecimal(?) olarak yazabilirsin, ama CPU'nun aritmatik-mantik birimi (ALU), 1 ve 0 ile calisir).
yani Makine Dili kullanarak da aslinda program yazabilirsin, yani 1 ve 0 lar kullanarak. Ama bu isi yapmak baya zor, o yüzden düsük,orta,yüksek seviyeli Programlama Dil'leri cikti. Seviye yükseldikce Yazilim Yapma isi kolaylasir.
mesela Assembly, düsük seviye bir dil. assembly, Düsük seviye bir dil, ve assembly ile masaüstü program yapabilirsin, ama ayni programi C# ile de yapabilirsin.. C# ,yüksek seviyeli bir dil (bu konuda baya bir tartisma var. olup olmadigina dair :) .),seviyesi daha yüksek oldugu icin daha kolay, insana hitap ediyor. Ama temelde yine .net'in compileri önce, IL kod'una (MSIL .net icin,-> IL: intermediate language ara dil) daha sonra da JIT compileri makine diline cevirip, islemcinin anlayacagi seviyeye indirir.
Olay bu aslinda :)
Kisaca özetlersek: sen yüksek seviyede kod yaziyorsun ama, Compiler bunu Makine Diline dönüstürür.. :) (c#/vb.net kodu -> (MS)IL kodu -> makine kodu)
bu makine dilinde 1ve 0 'lardan yazılan kod'un uzunluğu işlemciye göre değişiyor değil mi?
32bit'lik veya 64bit'lik dediğimiz İşlemci, bu emri, 32 veya 64 hâne ile alıyor ,değil mi?
HexaDecimal'da bu emir(yada komut), kaç hâneli olabiliyor? bunu belirleyen yine Compiler mi, işlemci mi?
-
RitmFarbRacourci bunu yazdı
bu makine dilinde 1ve 0 'lardan yazılan kod'un uzunluğu işlemciye göre değişiyor değil mi?
32bit'lik veya 64bit'lik dediğimiz İşlemci, bu emri, 32 veya 64 hâne ile alıyor ,değil mi?
HexaDecimal'da bu emir(yada komut), kaç hâneli olabiliyor? bunu belirleyen yine Compiler mi, işlemci mi?
bahsettigin olayin adina instruction set deniyor.. Cesitli setler var hocam onlari arastirabilirsin.. compiler ile 32 ya da 64 bit uygulama olusturabilirsin ancak bu demek degildir islemci hepsini calistirabilsin. 64 bit islemciler hem 64 hem 32 bitlik komut setlerini calistirabilir, ama 32 bit islemciler 64 bitlik komut setlerini calistiramazlar