You are on page 1of 5

PROGRAMLAMA 1 Programlama Dilleri Hakknda Genel Bilgiler Bazilari makina dili ile ASsembly nin ayni oldugunu zannederler...

Bunlara halk arasinda lamer denir. Makina dili "010101001" lerden oluan komutlardir ve bunlar direk makinaya hitap eder, Assembly ise bizim "101010101" lerin bire bir karili olan anlamli soz gruplaridir. Bunlar derlemeden bir ey ifade etmez. Zamaninda abimler "10101001" lerle program yazmaya uenmi ve Assembly dilini ortaya cikarmilardir. Assembly en duuk seviyeli programlama dilidir. Piyasada ondan dusugu yok. Bazilarida (lamerlar (Bilgi Unv. de bunlardan cokca var)) programlama dillerinin 2 ye ayrildigini soyler. Onlara gore dusuk seviyeli ve yuksek seviyeli diller olmak uzere ikiye ayrilir. Bu ayirmada ASSEMBLY bir duuk seviyeli dil iken C, PASCAL, BASIC ise yuksek seviyeli bir dildir. Bu tamamen yanlitir! Programlama dilleri 3'e ayrilir. Yuksek seviyeli, Orta Seviyeli , Dusuk seviyeli. Yuksel seviyeli diller, PASCAL, BASIC, COBOL gibi dillerdir. C ise orta seviyeli bir dildir. Cunku C de istedigin zaman makinaya direk eriebilir istediginde makinaya eriimi derleyiciye birakabilirsin. Assembly ise bahriz bir duuk seviyeli dildir. Cunku yer eyi programci yapmak zorundadir. C de ise bu programcinin istedigine baglidir. Assembly programlari kod olarak diger programlama dillerinden cok cok cok cok uzundur fakat, assembly programlari diger programlama dilleri ile yazilmi programlardan cok cok cok cok daha hizli caliir. Bu hizli calima olayi derleyiciye baglidir. imdi benim hazirladigim TOP hizli calian programlama dilleri listesine bir goz atalim :) TOP 10 1. Assembly 2. C 3. PASCAL (Bu Ben) 4. BASIC Evet basic cok yava calian bir dildir ama ogrenilmesi cok basitdir. Ondan butun lamerlar BASIC bilir. imdi Kod yazma makimindan bir kiyaslama yapalim ve bir cok programlama dili ile ekrana "Gurgam" yazmaya calialim. ---BASIC KES---PRINT "TR-SCENE" ---BASIC KES------COBOL KES---DISPLAY "Gurgam" ---COBOL KES------PASCAL KES---begin writeln('Gurgam'); end. ---PASCAL KES------C KES---main() { printf("Gurgam ..\n"); } ---C KES------MODULA-2 KES---MODULA NaberLan; FROM IO IMPORT WrLn, WrStr; BEGIN WrStr('Gurgam);

END NaberLan; ---MODULA-2 KES------ASSEMBLY KES---YIGIT SEGMENT PARA 'YIGIT' DB 64 DUP ('YIGIT') YIGIT ENDS VERI SEGMENT PARA 'VERI' NABERLAN DB'Gurgam' VERI ENDS KOD SEGMENT PARA 'KOD' ANA PROC FAR ASSUME CS:KOD,DS:VERI,ES:VERI,SS:YIGIT PUSH DS SUB AX,AX PUSH AX MOV AX,VERI MOV DS,AX MOV ES,AX LEA DX,NABERLAN MOV AH,09 INT 21H RET ANA ENDP KOD ENDS END ---ASSEMBLY KES---Hemen hemen boyle! Bu arada imdi programlama dillerinin kimler tarafindan kullanildigini anlaticam. PASCAL demo coderlar tarafindan kullanilir bunun sebebi bilinmez ama bir cok demo coder PASCAL kullanir. Tabkiki assembly ve C kullanan demo coderlar var ama PASCAL butun demo coderlarin bilmesi gereken bir dildir. Bir baka rivayete gore pascal, bilimadamlari tarafindan kullanilirmis malesef hic bilimadami olan yaknm olmadigi icin bunu bilemiyecem! Assembly ise cracker lar tarafindan kullanilir, bunun sebebi programi debug yapinca karina makina ve assembly kodunun cikmasi :). C ise genelde programcilar ve hackerlar tarafindan kullanilir. C tamamen elite bir dildir. Hackerlarin c kullanma amaci bence, C nin linux ve unix gibi sistemlere yerleik bir dil olmasi ve gelimi bir dil olmasi :) LAMERLARA HATIRLATMA : Windows, MS-DOS, UNIX, ACAD gibi programlar C ile yazilmitir. Tabi bazi yerlerinde ASSEMBLY kullanilmadi degil.

2 C Programlama Diline Giri

UyarILar: 1- Her ne kadar verecegimiz linkler|dosyaLarda Visual C++|Borland C++ falan filan icerse de genelde konumuz linux uygulamalarindaki C olacak. haberiniz oLa..eger ilaveler gelirse de onlari da gorursunuz..ornegin Visual C++'daki gibi hazIr database uygulamalarI ile ilgili bilgiler de var bu linklerde . 2-eger verilen linklerde ingilizce problemi yaayacaksanIz lutfen ingilizceyi ogrenin. Ben amatorun tekiyim, amacIm da u an kaynakLarI gostermek...yine amacIm..linux

kullanicilarInIn elinin altIndaki C++ hazinesinin farkIna varmaLarInI saglamak..yani: once temeL bilgi.. bilincli olarak ya da hasbelkader linux yuklemi tavanLarIn, iceriginde ne oldugu ciddi olaylar taIyan BitchX + scriptlerine(saf BitchX'de bi ey yok) asILIp o-odaya-bu-odaya/o-servera-buservera kastIrmaLarI olayInI gececegimizi hep beraber kafamIza koyaLIm. 2 ayda exploit yazcak duruma gelmek bence hayaL.onun icin siz sabredin. hem C ogrenilecek hem de newtwork olayI iyice kavranacak.yoksa olamaz di mi? aagIdaki linklerde C,C++ agirlikli konular var. Bu arada orda burda satILan mehur 14 gunde TCP/IP nasIl ogrenilir kitabInIn linki var... eger o server'da problem olursa ya da verdigim linklerde problem olursa Bana mail atIn... her detay zamanla anlaILIr|kavranIr.bu arada lamerlarIn hec ansI olmadIgInI belirtmek isterim.. cunku bu i caLIma gerektirir,zahmet gerektirir, onlar sIkILIr hemen. bu konuda herkese iyi ugraILar dilerim.....eletiriLerinizi bekliyoruz..verilen linklerdeki ve dosyalardaki bilgileri iyi bir formata getirip print edince yaklaIk 400 sayfaya yakIn ediyor. hade iyi okumaLar.. Linkler : http://www.cs.tuiasi.ro/library/ ILK OLARAK BURAYA BAKIN cunku en basitten en karIIga kadar bir ton ornek dosya ve tutorial var. bu adres her derde deva..C'den baka bir cok documan var orada onlardan ilginizi cekenler mutlaka olacaktir. C ve C++ tutoria'larI mukemmel..ayrica bir cok ornek program var iclerinde.. sayfalara girince size sayfayi tum icerigiyle verecek dosyalarI var..bu cok iyi cunku dL et sonra oku gibi. digerleri: http://www.filelibrary.com:8080/cgi-bin/registered/download/DOS/h/75/ http://ajay.simplenet.com/programming/index.html http://gandalf.pht.com/sourcemountain/pc/c.html http://www.geocities.com/Area51/Labyrinth/3339/den.html bu linkler de cok bilgi iceriyor.

3. SAYI SSTEMLER Bilgisayar denilen alet bir ka kablo,elektronik acayip eyler ve devrelerden oluur.Bu aletin iinde bir cin yoktur :) Aslna bakarsanz "binary" bir bakma cin grevindedir.Binary bir say sistemidir.Ve "iki tabanldr". Yani olay iki numaradan ibarettir.0 ve 1.

Aslnda ok basit deil mi? Yaplan grafikler,gzel programlar,Quake3 oyunu ve daha bir ok ey iki tane rakam'a baldr. Her programcnn bildii bir rnek vardr.Gelin onu aklayaym. Evimde bir lambam var. Benim bu lamba ile yapabilecegim en basit drt ilem ne olabilir ki? Mesela, Lamba Lamba Lamba Lamba yanar ---> 00 kapanr ---> 01 patlar ---> 10 der ---> 11

Bakn iki rakam ile drt tane ilem yaptm :) 4 farkl ilem,4 farkl sonu .. Ne kadar basit,ne kadar gvenilir ve tabiki elektronik... Ok.. Olayn zn anladysak.. Yava yava olayn derinliklerine girmeye balayalm.. - Binary Nedir? Bilgisayarlar,"binary" denilen ve rakamlar 0 & 1 olan say sistemi ile alrlar.0 ve 1 birer "BIT" dirler.Binary de her karakter 8 bit kullanlarak ve tabii olarak ayn olmayacak ekilde kodlanmtr.Bu 8 BIT,1 BYTE'a eittir. Yani BYTE = 8xBIT . Mesela "BABA" szcn binary olarak kodlamak istediimiz de gerekli BIT says 32,gerekli BYTE says ise 4 dr.(4x8=32) B harfini 00000001,A harfinide 00000010 olarak varsayarsak."BABA" aadaki ekilde gsterilmi olur. BABA = 00000001 00000010 00000001 00000010 Binary'i dier bir say sistemi olan "Decimal" ile karlatralm. Binary: 0, 1 (ki BIT) Decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (On BIT) Burdada ok ak grld gibi Binary de iki deer,decimal de ise on deer bulunuyor.Yani burada decimal,binary'e bir stnlk salam :) Fakat bilgisayarlar bilginin *sadece* iki ifadeli(binary) bitlerini okuyabilirler.Bu demek ki bilgisayar tm bu matematiksel ilemleri tamamen binary ile gerekletirecek. imdi de binary de ve decimal de *sayma* sistemine bakalm. Decimal: Binary: 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

17... 10000 Gzel bir tablo bence,herey kabak gibi ortada :) Ama yinede decimal ve binary'i *sayma* sistemine gre bir karlatralm. Decimal: 9876543210 10 10 10 10 10 10 10 10 10 10 XXXXXXXXXX (X'i 0-9 aras bir rakam olarak dnn.) Decimal say sisteminde her bit,10'un kuvvetine eittir.Mesela 10'un 0. kuvveti 1'dir.O halde X ksmna "0" yazlacaktr.nk 10'un 0. kuvveti 1'in iinde hi 10 yoktur.kinci X de ise 10'un 1. kuvveti 10'dur ve buradaki ksma 1 yazlacaktr. nk 10'un iinde 1 tane 10 vardr.nc ksmda ise 10'un 2. kuvveti 100'dr ve oraya 10 yazlacaktr.nk 100'n ierisinde 10 tane 10 vardr.Burada anlatlmak istenen X bulunan ksmn herzaman 10 ve 10'un katlar olacadr. Binary: 9876543210 2222222222 XXXXXXXXXX Binary say sisteminde de her bit 2'nin kuvvetine eittir.2. X ksmnda 2'nin 1. kuvveti yine 2 dir.O halde buraya 1 yazlacaktr.nk 2:2=1 dir.3. X'de 2'nin 2. kuvveti 4'dr ve buraya 2 yazlacaktr.4. X'de 2'nin 3. kuvveti 8'dir ve buraya 4 yazlmas gerekir(8:2=4)Yani anlatlmak istenen farkllk buradadr.Decimal say sisteminde rakamlar 10'ar 10'ar saylrken,binary'de 2'er 2'er saylr.Ve ayrca belirtmek isterim ki,hi bir say sisteminde 2,3,4,5,6,7,8,9 bir arada bulunamaz! nallah olaydan bireyler kapmsnzdr.En son olarak bi ka tane binary rakamlar ve deerlerini rnek olarak yazym. 1100 0010 0011 0100 1000 1111 = = = = = = 12 2 3 4 8 15

Her trl soru,sorun ve eletrilerinizi bana mailleyebilirsiniz. -----BEGIN PGP PUBLIC KEY BLOCK---Version: 2.6 mQCNAzYxtv0AAAEEAOZM+5YaCE9IJb29f1v9NhVqX2LD++8ed0MvwGgYurgQKUR1 dY6Ehn7GP8IUiE85ZhXTFgqia+JB+V1RTXFZlQJlZiR9FVRD2TWBND6zXFNwB+K2 aSL352d4NXY/Ms9a+pgyiVH9/i7njB722OJrptrCI/cp15lgG50XjFsM9rBNAAUR tB5PbnVyIEd1bmR1eiA8a2FpQGxpbnV4Lm9yZy50cj4= =KE54 -----END PGP PUBLIC KEY BLOCK-----