Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Geçmişten Günümüze Bilgisayar - II (mizah)


Özet
Bir önceki makalemizde (bkz. Geçmişten Günümüze Bilgisayar (mizah)) kısaca bilgisayarın tarihçesinden bahsetmiş ve programlara dillerini anlatmaya başlamıştık. Bu makalemizde programlama dillerini anlatmaya devam ediyoruz.

Yazar Hakkında
Şehir :
İstanbul

Üyelik :
06 Ocak 2005 06:46

Son Giriş :
14 Ocak 2014 07:31
» Mesaj gönder
» fizikci hakkında
» Sözlükte fizikci
4. HTML :

Özellikle sistem programlamada kullanılan bu dil ile çok sayıda işletim sistemi, ekran sürücüsü, web siteleri ve spam mailler yazılmıştır.

HTML ile yazılan programlar derlenmezler. Derlenseler bile "sağ tık, kaynağı görüntüle" diyerekten reverse engineering ile kaynak koduna ulaşılabilir. Tipik bir HTML kaynak kodu aşağıdaki gibidir:

<html>
   <head></head>
   <body></body>
   <leg></leg>
   <foot></foot>
</html>

Daha gelişmiş bir örnek olarak Windows XP'ye ait kernel kodlarının HTML ile yazılan kısımlarını aşağıda verelim:

<html>
   <head>
      <title>Windows XP</title>
   </head>
   <body>
      <button>BAŞLAT</button>
      <a href="">Programlar</a>
      <a href="">Donatılar</a>
      <a href="">Denetim Masası</a>
      <a href="">Belgelerim</a>
   </body>
   <foot>
      Çöp tenekesi
   </foot>
</html>

Bu kodu my_windows_xp.html adıyla kaydedin. Üzerine çift tıklayın. Tadaaa! Yeni işletim sisteminiz açıldı. Ne kadar kolay değil mi? Tabi bu işletim sistemini bilgisayar açıldığında başlatmak isterseniz startup'a koymanız gerekir. Boot olayı yani.


5. JavaScript :

Albert Java tarafından geliştirilen bu dilin en önemli özelliği browser tarafından yorumlanıyor olmasıdır. Browserlar Javascript kodunuzu değişik şekillerde yorumlayabilir. Mesela geçenlerde yazdığım JavaScript koduyla ilgili Internet Explorer isimli browserın yorumu çok kötüydü.
- "Bu script kodu olmamış baba" dedi,
- "Neden baba ya?" butonuna tıkladım, açılan pencerede,
- "değişken isimlendirmede camel case kullanmışsın, pascal case kullansaydın daha hoş olurdu" yazıyordu.
- "Sanane be!" butonuna tıklayarak "sen kodu çalıştır, gerisine karışma" demeye getirdim ama
- "yok" dedi, "bu rezaleti hayatta çalıştırmam ben". Ben de
- "sensin rezalet!" butonuna tıklayıp kapattım browserı mrowserı. Hayır, kodu çözemedi, zor geldi çalıştırmak, yok camel case bilmem ne, kıvırmaya çalışıyor. Yapamıyorsan, yapamıyorum de delikanlı gibi bizi de uğraştırma, di mi ama?

Neyse bir Javascript kodu örneği verelim ve bu konuyu da kapatalım, daha bi sürü dil var anlatılacak. Aşağıdaki örnek kod email adresinin düzgün yazılıp yazılmadığını kontrol ediyor:

<script>
   function emailValidate(email)
   {
      if(email.indexOf('@')==-1)
         alert('Lütfen email adresinizi adam gibi yazın. @'siz adres mi olur?');
      else if(email=='a@b.com')
         alert('a@b.com ne ya? Email adresini vermeyeceksen üye olma kardeşim!');
      else if(email.substring(0,6)=='nospam')
         alert('sensin spamci! normal kullandığın maili versene.');
      else
         return true;

      return false;
   }
</script>


6. Assembly Dili :

Makine diline en yakın dil budur. Gerçekten de "aman makine diline yakın olsun da bana uzak olsun" diyeceğiniz bir dildir. Neden? Çünkü bu dilde konuşmak için cümleler ya da kelimeler yerine harfleri kullanırsınız. Hiç insan konuşurken harfleri düşünür mü? Bu dil düşündürtüyor işte. Örneğin "merhaba" diyeceksiniz :

.486
.MMX
.data
  ;yok
.code
  push 'm'
  push 'e'
  push 'r'
  push 'h'
  push 'a'
  push 'b'
  push 'a'
  pop alayını

yazmanız gerekir. Örnekten de görüldüğü gibi gereksiz bir dildir. Üzerinde düşünmeye bile değmez.


7. CSS :

[C]ontent * renklendirme ve [s]ağdan hizaya [s]okma dilidir. Özellikle web sitelerinin scroll barını boyamak için kullanılır. Ayrıca CSS dilini kullanarak, sitenizdeki resim yazı gibi içerik üzerinde renklendirme (color), hizaya getirme (align) gibi işlemleri yapabilir, hatta körebe (visibility) ve saklambaç (display) gibi oyunları oynayabilirsiniz. Örnek kodlar ve açıklamaları aşağıda verilmiştir.

body {display: none}
Bu kod ile tertemiz bir sayfanız olur. Görenler "Bana kalbin kadar temiz bu web sayfasını ayırdığın için.." deme arzusu duyar.

body {color: white; background: white}
Bu kod da bir önceki örnekle yaklaşık aynı işi yapar. "Bana kalbin kadar temiz.. a? dur bakiiim.. seçince birşeyler görünüyor" dedirtir.

body {text-decoration: kartonpiyer}
Sitenizin kenarlarına alçı dekorasyonu yapmak için bu kodu kullanabilirsiniz.


8. PHP :

[P]ersonal [H]ome [P]age. Kişisel ev sayfası yapma dilidir. Ev sayfası nedir? Ev sayfası, eee, ev baklavası gibi bir şeydir. Nasıl ki ev baklavasının hastaları varsa, evde yapılan web sayfalarının da hastaları vardır. Bu insanlar PHP ile evde hazırlanmış web sitelerinde dolaşırlar. Diğer sitelerden zerre hazzetmezler. Sizin de hedef kitlenizde bu tip insanlar varsa web sayfalarınızı PHP ile evinizde hazırlamalısınız.

PHP çok esnek bir dildir. Her şey serbest. Mesela $var = "ad", $ad = "Ahmet" olsun. Bu durumda $$var = "Ahmet" olur. Helal olsun. Yapmış adamlar. Örnek PHP kodumuz aşağıdaki gibi:

<?
  php_info();                  // php bilgimizi arttıracak yazılar yaz
  error_reporting(0);          // toplam hata sayısını 0'la çarp. Böylece hiç hata kalmaz.
  session_start("summer");     // yaz sezonunu başlat. pardon season_start olcaktı.
 
  include("header.php");       // header'ı sayfanın içine göm.

  mysql_connect("...") or die; // databeyse bağlan ya da geber
  mysql_query("select..");     // gebermediysen veritabanina select at

  echo $$_GET[$_POST['id']];   // artistik bişeyler yaz.

  include("footer.php");       // footer'ı sayfaya göm.
?>


9. SQL :

[S]orgu [Q]uery falan [L]anguage. Sorgu, query falan yapmaya yarayan dekleratif bir dildir. Bu dil ile verilerinizi manipüle eder, okur ve yazarsınız. Önce verinin metadatasını bildirmeniz gerekir. Bunun için create table sorgusu yazılır. Yaz:

create table borclar (
   kime varchar(50),
   kac_para int,
   odendi char(5)
)

Bunu yazıp bi şekilde execute ettirdiğinizde artık borclar adında bir Excel sheet'iniz olur. Aşağıdaki gibi:

  | Kime       | Kac_para    | odendi
  ----------------------------------
  | Bakkala    |      15.000 | Hayır
  | Manava     |      12.150 | Evet
  |            |             |
  |            ______________________
   \ Borclar /
    ---------

Excel'de üç sütunlu bi shit (pardon sheet) yapmak için niye SQL öğrenesiniz ki? Bu da gereksiz bir dil. Ama gene de bir kaç örnek daha inceleyelim (biliyo musun, biliyom, salla başı al maaşı olsun)

select sum(kac_para) from borclar
sorgusu "ne kadar borcum varmış topla getir, ödenmiş ödenmemiş farketmez" demektir.
select kime, sum(kac_para) from borclar where odendi='Hayır' group by kime
sorgusu "Ödenmemiş borçlar toplamı nedir" demektir.
insert into borclar values('Fırına', 12000, 'Hayır')
sorgusu "Fırına 12000 lira borçlandık" demektir.
delete from borclar where kime='Bakkala'
sorgusu "Bakkalda yangın çıktı, adamcağız da yandı, kimi kimsesi de yoktu, bizim borç otomatikman kapandı" demektir.
update borclar set kac_para=kac_para-5000 where kime='Manava'
sorgusu "Manav kazıkçının tekiymiş 5.000 lira fazladan geçirmiş, dün kavga ettim düzelttirdim" demektir.
drop table borclar;
sorgusu "Abi valla veritabanı göçtü, datalar kayboldu, bi kurtarayım ödeyecem borcumu" demektir.


10. Simurg :

Tembel programcının dili olarak bilinen Simurg az kodla çok iş yapmak için geliştirilmiş bir dildir. Gerçekte simurg, fraktal tüylere sahip bir çeşit kuştur. Bu dile simurg adının verilmesinin sebebi; Simurg'un, C#'ın şu veya bu özelliklerinin kırpılarak kuşa çevrilmesiyle oluşturulmuş olmasıdır.

Simurg çok basit bir dildir. Merhaba dünya örneğiyle başlayalım:
p class MerhabaDunya
{
   p s v M()                         // public static void Main
   {
       cnsl.wrt("Merhaba Dünya");    // Console.Write
   }
}

Gördüğünüz gibi tam tembel programcı işi. Kim uğraşıcak uzun uzun "public static void Main" yazmakla.. Kısaca "p s v M" yaz olsun bitsin.

Simurg'un kendine has bir framework'ü de vardır. Dotnet Framework'ün üzerine bindirilmiş bu framework de tam tembel işidir. Diyelim ki Simurg ile bir CRM uygulaması yazmak istiyorsunuz. Aşağıdaki gibi bir şeyler yazabilirsiniz:

using System.CodeSource.CodeProject;
using System.CodeSource.MSDNLibrary;
using System.CodeSource.BilisimKulubu;

p class CRM
{
   p s v M()
   {
      CodeProject cp = new CodeProject(); // bakalım codeproject.com'da yazılmışı var mı?
      Code code = cp.SearchCode("CRM");   // arayalım

      if(code!=null)
      {
         // oley bulduk!
         code.Download();     // download edelim
         bool calisti = code.TryToExecute(); // çalıştırmayı deneyelim
         if(!calisti)
         {
             return to start; // başa dönelim, tekrar arayalım..
         }
      }
      else
      {
         return to start; // başa dönelim, tekrar arayalım..
      }
   }
}






Yazarımıza ait diğer makaleler

1. Javascript ve HTML ile grafik çizmek
SVG ile grafik çizmek HTML ve Javascript kasmaktan daha mantıklı elbet ama SVG yaygınlaşana kadar bir müddet daha böyle idare ediyoruz.
08 Aralık 2006 01:45

2. Veritabanı hakkında yapısal bilgiye erişmek (Database metadata)
Veritabanı hakkında yapısal bilgiye (metadata) erişim için yazılmış açık kaynak kodlu kütüphane.
18 Kasım 2006 21:51

3. Javascript ile Nesne Yönelimli Programlama (OOP with JS)
Bu makalede Javascript'le ilgili olarak JSON, function pointer ve OOP konuları ele alınıyor.
21 Ekim 2006 15:29

4. Code Generation, Code Generator nedir?
Code generation adını sıkça duyduğumuz bir kavram. Kod yazan kodların yaptığı işe deniyor. Kod da kod yazar mıymış demeyin. Programlarsanız yazıyor. Hem de ne kadar iyi programlarsanız o kadar iyi yazıyor. Hatta öyle ki; bazı code generatorlar artificial intelligence sınırlarını zorlayan kodlar bile üretebiliyor. Bu tür programları gören kimi programcıların da tüyleri diken diken oluyor, "ulan patron bunu görse beni kapının önüne koyar ha" diye.
24 Eylül 2006 07:00

5. Geçmişten Günümüze Bilgisayar (mizah)
...Ama aslında abaküsün günümüz bilgisayarlarıyla herhangi bir benzerliği olduğu söylenemez. Bir kere abaküsle İnternet'e bağlanamazsınız. Counter Strike da yok. Eee? Nasıl bilgisayar bu? Varsa yoksa boncuk! Üç boncuk sağa, iki boncuk sola. Ne anladım ki ben bundan?
28 Mart 2006 10:38

6. Bir PHP Hikayesi - Bölüm VI - Biraz da Javascript hikayesi
Erol PHP ortamlarından Javascript ortamlarına akıyor.
26 Şubat 2006 01:42

7. SPAM ile mücadele
Bir spamci ile aramda geçen mesajlaşmayı yayınlamak istedim. İbreti alem olsun diye.. :)
04 Şubat 2006 12:00

8. Multithreading - Bölüm I
Threading serimizin bu ilk bölümünde konuya kısa bir giriş yapıyoruz.
11 Ekim 2005 01:38

9. Bir PHP Hikayesi - Bölüm V : PHP mi? Ne PHPsi?
Bir Pazar günü Erol'un başından geçenler. Tarumar'ın katkılarıyla.
04 Eylül 2005 14:59

10. Bir PHP hikayesi - Bölüm IV : Web Formları
Bu bölümde Sinan'la Erol'u biraz daha yakından tanıyoruz.. Ha, bir de şu web formlarından bahsediyoruz.
27 Ağustos 2005 17:00

11. Bir PHP hikayesi - Bölüm III : PHP dili
Bu bölümde Erol PHP dili ile biraz daha tanışıyor, Sinan'ın rehberliğinde yeni dünyalara yelken açmanın tadını çıkartıyor.
21 Ağustos 2005 19:29

12. Bir PHP hikayesi - Bölüm II : PHP'ye giriş
Bu bölümde PHP'ye nefes kesen bir giriş yapılıyor. Sinan heyecanla anlatıyor, Erol'un bilginin sınırlarında şakakları zonkluyor.
21 Ağustos 2005 02:36

13. Bir PHP hikayesi - Bölüm I : Kurulum
PHP öğrenmek isteyen bir programcı ve PHP bilen bir başka programcının diyalogları. Çok sürükleyici! :)
20 Ağustos 2005 18:33

14. OOP - Nesne Yönelimli Programlama - Bölüm III
Bu makalemizde inheritance (kalıtım) konusuna değineceğiz.
29 Temmuz 2005 00:59

15. OOP - Nesne Yönelimli Programlama - Bölüm II
Bu makalemizde encapsulation (kapsülleme) kavramından bahsediyoruz.
19 Temmuz 2005 10:24

16. OOP - Nesne Yönelimli Programlama - Bölüm I
Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri.
30 Haziran 2005 22:58

17. DHTML ile sayfa refresh olmadan dinamik olarak değişen veri göstermek
Veritabanı uygulamaları geliştirmek için belkide en güzel yöntem olan webin küçük bir sorunu var: Sürekli refresh olan sayfalar..
17 Haziran 2005 23:43

18. Performans Testi (CodeDOM ile)
Aynı işi gören iki farklı koddan hangisinin daha performanslı çalıştığını test etmenizi sağlayan program. İki ayrı kutuya kodlarımızı yazıp, hangisinin daha performanslı çalıştığını derlemeden görebil
11 Haziran 2005 23:06

19. Virtual domainlerde karşılaşılan mail probleminin Sendmail ile çözümü
Bu yazi 2001 yilinda "Türk Linuxçülerine bir ucundan biz de destek olalim" diye linux.com'dan Türkçe'ye tercüme edilmistir.
07 Haziran 2005 21:19

20. Taş Fırın Satrancı
.Net'i denemek, öğrenmek için zamanında yazılmış bir program ve o zamanlar kendisi hakkında yazılmış bir makale.
06 Haziran 2005 21:25

21. Yüklü Parçacıklar Simulasyonu
Bir simulasyon programı. Bu programı parçacık sistemlerinin birbirleriyle etkileşimini incelemek için kullanabilirsiniz.
(Not: Bu program ve makale 2002 yılında yazılmıştır.)
06 Haziran 2005 20:07

Yorumlar

1.  walla fizikci bu mizah olayını iyice aşmışsın sen ya.. Javascript bölümüyle Php bölümene de özellikle bayıldım. Bir yazı ancak bu kadar komik ve güzel olur..
allenscoot
21 Eylül 2006 15:51
2.  Pazar günümü mutlu geçirmeme sebep olan tek şey. Anlatılanların hepsi kendi iç güzelliğine sahip, bu yaratıcılık da nerden dedirten, ara sıra beynimdeki nöronların yanmasına sebebiyet veren bir yazı dizisi. Çok yaşa.
developer
24 Eylül 2006 14:46
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1093 ms)
Dost siteler: Nasıl, Çınar Framework