readmee dergisi ocak 2012 sayısı
DESCRIPTION
Eskişehir Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü e-DergisiTRANSCRIPT
e-Dergisi
Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü
OCAK 2012 | Yıl: 2 | Sayı: 17 | www.readmee.com
Ayın Web SiteleriAyın Web Siteleri
NEED FOR SPEED
FACEBOOK UYGULAMASI YAPMAK
FIFA 12’de Türkiye Süper Ligi
ASSEMBLY PROGRAMLAMA DİLİ
VİRÜS TANIMI VE ÇEŞİTLERİ
BATMAN: ARKHAM CİTY
ALGORİTMA NEDİR?
PROGRAMLAMA DİLLERİ
YENİ!
YENİ!
Readmee İnternet Zirvesi ‘12 Ayrıntılar için readmee.com/riz12
Konu başlıklarına tıklayarak ilgili makaleye direk
gidebilirsiniz.
Readmee | Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü eReadmee | Osmangazi Üniversitesi Bilgisayar ve Bilişim Teknolojileri Kulübü e --DergisiDergisi
YazarlarYazarlar
Tolga AVCITolga AVCI
Fırat KOYUNCUFırat KOYUNCU
Sezai SEVİNÇSezai SEVİNÇ
Cemile SARICAOĞLUCemile SARICAOĞLU
Pelinsu ÖNALPelinsu ÖNAL
Ali AŞKINAli AŞKIN
Gamze KARADAĞGamze KARADAĞ
Abdullah AZARKANAbdullah AZARKAN
Dergi TasarımDergi Tasarım Cemile Sarıcaoğlu Cemile Sarıcaoğlu
Pelinsu ÖnalPelinsu Önal
@ Readmee
@ Readmee
Editörden... Sevgi ve saygıyla selamlar readmee okurları,
Bu ay da elimizden geldiğince bir şeyler hazırladık. Ayrıca
yavaş yavaş bizi heyacan sarmaya başladı. Çünkü azıcık
ucundan tüyo vermek gerekirse yeni yaşımıza girmemize az kaldı. Biz de yeni yaşımızın ilk sürprizlerinden RİZ ’12’yi bu
ayki sayımız ile sizlerin takdirine sunuyoruz.
Değinmek istediğim bir diğer nokta da; geçen ayki sayıya
gelen eleştiriler... Eleştirilerinize çok ihtiyacımız var ve tenkitleriniz için de
teşekkür ederiz. Dergimizde mühendislik disiplinleri ile alakalı
(daha çok bilgisayar mühendisliği) teknik makalelere yer
veriyoruz.
Öncelikli olarak hazırlık, 1.sınıf veya 2.sınıf arkadaşlarımızın
dergide yazmasını önemsiyoruz. Çünkü benim her zaman
sözünü ettiğim gibi “Biz profesyonel ruhlu, amatör bir
dergiyiz.” bu cümleden hareketle alt sınıflardan gelen
arkadaşlarımızın bilmediği bir konu hakkında kendi başına
araştırma, bilgi edinme, sorma gibi yetiler kazanmalarını istiyor
ve tüm bu eylemlerden elde ettikleri verileri kendi cümleleri ile
ifade edebilme özelliği kazanmalarını istiyoruz. Ayrıca okulumuzdan kendi alanlarında özel uğraşları olan
arkadaşlarımızın çalışmalarını sizlerle paylaşma gayreti
güdüyoruz.
Faydalı olması dileğiyle, hoşçakalın.
Yusuf Kesgin
İçindekiler NEED FOR SPEED…..……....................................s3
FACEBOOK UYGULAMASI YAPMAK…...............s5
FIFA 12’DE TÜRKİYE SÜPER LİGİ….…....s10
ASSEMBLY PROGRAMLAMA DİLİ……...s13
VİRÜS TANIMI VE ÇEŞİTLERİ….………..s16
BATMAN: ARKHAM CİTY………………..s18
ALGORİTMA NEDİR?..................................s20
PROGRAMLAMA DİLLERİ……………….s22
Dergide yayımlanan yazı, fotoğraf, illüstrasyon ve
görsellerin sorumluluğu yazarlarına ait olup Readmee
Dergisi’nde yayımlanan içeriğin her hakkı saklıdır. Hiçbir
içerik izinsiz yayımlanamaz. Readmee Dergisi,
www.readmee.com sitesinden yayın yapmaktadır. Tüm
soru, görüş ve önerileriniz için web sitemizi ve sosyal ağ
profillerimizi kullanabilirsiniz.
________________________________________________
Readmee Dergisi’nde siz de yazar olmak ve bildiklerinizi
paylaşmak isterseniz [email protected] e-posta
adresi ile veya web sitemizin iletişim sayfasından bize
ulaşabilirsiniz.
Need For Speed : The Run(XBOX360)
Hayatın için yarış!
anadalı EA BlackBox’ un geliştirmiş olduğu Need For Speed : The Run, serinin 18. oyunu olarak karşımıza çıkıyor.
Her sene farklı amaçlar ve kişiler için yaptığımız yarışlarda bu sefer odak noktası biz oluyoruz. Jack Rourke adlı karakteri
canlandırdığımız NFS : The Run’ da, başımız mafyayla derde giriyor. Mafyadan kurtulmak ve 25 milyon dolarlık büyük
ödülü kazanmak için 3000 millik San Francisco - New York yarışını yaklaşık 200 yarışçıyı geçerek lider tamamlamamız
gerekiyor. Bunun için Sam adlı bir bayan arkadaşımız da bize yardım ediyor. Bildiğiniz üzere BlackBox yetkilileri, NFS :
Run ‘ın senaryosunun derin ve ayrıntılı olacağını söylemişti. Ancak oyunda o kadar kalıp ve basit bir senaryoyla
karşılaşıyoruz ki keşke senaryo olmasaymış dediğiniz anlar oluyor.
San Francisco’ dan New York’a kadar süren bu 3000 millik yarış ne yazık ki bir uzun yol yarışı değil. Yarışlarımızı
bölümler halinde yapıyoruz. Bu nedenle benim gibi maraton yarışı sevenler The Run ile istedikleri tadı alamayabilirler
özellikle de aniden biten bölümleri gördüklerinde. Bazı bölümler o kadar kısa sürüyor ki yarışa tam alıştığınız anda bitiş
çizgisine gelmiş oluyorsunuz. Uzun yarışlar konusunda aradığımı bulamasam da yarış modları gerçekten iyi. Oyunda
çeşitli yarış modları mevcut ve bu modlar karışık olarak karşımıza çıkıyor. Kimi zaman belli bir sayıdaki rakibi geçmeniz
gerekirken, kimi zaman size verilen sürede yarışı tamamlamaya çalışıyorsunuz. Başka bir modda ise size verilen sürede
sizden önünüzdeki aracı geçmeniz isteniyor. Bu sayede oyun sıradan olmaktan çıkıyor.
Geri al, oynat bakalım
Uğur’cum! Yarışa ilk olarak şehirde başlasak da New
York’a kadar birçok farklı yerde
yarışıyoruz.Dağlarda, tepelerde, uzun
düzlüklerde kısacası yarış yapılabilecek her
türlü zeminde The Run bize yarışma imkanı
vermiş. Bunun yanında hava koşulları ve yol
tipleri yarıştığımız yerlere göre değişiklik
gösteriyor. Özellikle de Rocky Dağları’nda
yapacağınız yarışın sizi gerçekten
zorluyacağını düşünüyorum. NFS The
Run’dan kesinlikle durağan bir çevre
beklemeyin. Şehirlerde karşımıza aniden çıkan araçlar, dağlarda çığ sonucu yolumuza dökülen kayalar - bize her ne kadar
Split / Second’ ı hatırlatsa da- oyuna biraz daha gerçekçilik katıyor. Bu kadar zorluk arasında elbette kaza yapıp,
uçurumdan atlıyoruz. Burada ise Dirt3’ ten ve birçok yarış oyunundan aşina olduğumuz flashbackler(geçmişe dönüş)
yardımımıza koşuyor. Bizi kazadan önceki son kontrol noktasına geri götüren flashbackler sayesinde yarışımıza devam
ediyoruz. Ancak her bölümde yalnızca 5 flashback kullanma hakkımız bulunuyor.
TOLGA AVCI
Readmee Dergisi | 01 / 2012 3
Onun Arabası Var! Bir yarış için gereken ilk şey nedir? Tabii ki hızlı bir araba. Oyunumuzun başında bizden bir araç seçmemiz isteniyor.
Yarışlarda hız ve kontrol dengesi iyi olan bir araç kullanmanız işinizi kolaylaştıracaktır o yüzden seçiminizi buna göre
yapmanızda yarar var. Seçtiğimiz arabayı değiştirmek için ise yarışlardaki benzin istasyonlarını kullanıyoruz. Ancak
şöyle bir şey var ki yarıştığımız her parkurda benzin istasyonu bulunmuyor. O yüzden bazı bölümler sizin için güç bir
hal alıyor. Araç çeşitliliği yıllardır bildiğimiz NFS kalitesini koruyor. Spor arabalardan klasik arabalara kadar birçok
araba oyuna dahil edilmiş durumda. Bunun yanında her yarış sonunda tecrübe puanı kazanıyoruz. Bu puan kullandığımız
flashback sayısına, arabaları geçiş türümüze, kestirmeleri kullanmamıza ve daha başka bir çok durumlara göre değişiklik
gösteriyor. Tecrübe puanlarımızı Autolog’da yeni ikon ve arkaplan almak için kullanıyoruz Hot Pursuit’te de bulunan
Autolog sistemi The Run’da da mevcut. Autolog sayesinde yarış bitiş sürelerimizi arkadaşlarımızla karşılaştırıyor,
kıyasıya bir mücadeleye girişiyoruz.
Need For Speed: The Run, DICE’ın yeni oyun motoru olan Frostbite 2.0’ı kullanıyor. İlk olarak Battlefield 3 yapımında
kullanılan bu motor, Battlefield3’ te göstermiş olduğu gücü NFS: The Run’ da da hız kesmeden sürdürüyor. Yarışlardaki
manzaralar ve karakter modelleri Frostbite sayesinde o kadar gerçekçi hazırlanmış ki bazen kendinizi film izlermiş gibi
buluyorsunuz. Bunun yanında 2012 model Porche Carrera S ve 2012 model Lamborghini Aventador’ un tasarımına
bakarak oyun motorumuzun gücüne bir kez daha tanık oluyoruz.
Bütün kızlar toplandık! Oyunun senaryo modu beni her ne kadar hüsrana uğratmış olsa da çoklu oyuncu modu durumu biraz toparlıyor. Çoklu
oyuncu modunda birçok kilitli içerik bulunuyor. Yarış yaparak bu kilitleri açabiliyor ve daha geniş olanaklara sahip
olabiliyorsunuz. Çevre tasarımları ve arabalar frostbite 2.0 kullanılarak hazırlandığından senaryo moduyla bir farklılık
göremiyoruz. Eğer arkadaşlarınızla yarış yapmaktan zevk alıyorsanız, Need For Speed: The Run tam size göre.
Genel olarak NFS: The Run, grafik olarak yüksek ve aksiyonu bol bir oyun olsa da senaryo bakımından sınıfta
kalıyor. Bunun yanında oyunun senaryo modunun çok kısa sürdüğünü de üzülerek söylemek durumundayım. Senaryo
değil de çoklu oyuncu modunu oynarım ben diyenler için NFS: The Run sizi bekliyor.
İNCELEME NOTLARI
Grafik: 8.5 Ses: 9 Oynanabilirlik: 8 Genel: 8.5
NEED FOR SPEED Tolga Avcı
Readmee Dergisi | 01 / 2012 4
FACEBOOK UYGULAMASI YAPMAK Facebook Uygulamaları Hakkında Hepimizin bildiği gibi Facebook, bugün en gelişmiş web siteleri arasında kabul ediliyor. Bu muhteşem sistem kullanıcılarının bile kendisine ufak çapta modüler uygulamalar yazıp diğer kullanıcıların ya da belirli kullanıcıların faydalanmasına imkan veriyor. Oynadığımız oyunlar, kullandığımız fal ve oyun uygulamalarının hepsi Facebook’u diğer sosyal ağlardan öne çıkaran şeyler aslında. Bu makale sonunda hepimiz uygulama nasıl yapılıyor az çok fikir sahibi olmuş olacağız, hepimiz yazabileceğiz diyemiyorum çünkü 1 yazı okumakla olacak işler değil bunlar tahmin edersiniz ki. Ancak bu yazı ile birlikte ben bir uygulama oluşturacağım ve dilerseniz bu uygulamaya yazı sonunda erişebileceksiniz. Hemen uygulama oluşturmaya başlamadan önce şunları belirteyim: -Uygulamanız zararlı içerik barındıramaz. -Uygulamanız için Facebook’a ait bütün koşulları okumalısınız. -En önemlisi ise uygulama geliştiricisi olacaksanız eğer profilinizin onaylanmış olması gerekir eğer profiliniz onaylanmadıysa sizden onay isteyecektir ve cep telefonu numaranızı verene kadar açmayacaktır sistem hesabınızı bu yüzden denemeden önce dikkatli olun. Uygulamamızı yapmaya başlayalım, ben örnek bir uygulama yapacağım ve adım adım takip ederseniz siz de kendi uygulamanızı yazabilirsiniz.
Uygulama Adı: FK Uygulama Yazma Klavuzu
Uygulama Amacı: Facebook kullanıcıları bu uygulamayı kullanarak diledikleri zaman Türkçe bir Facebook Uygulama
yazma klavuzuna ulaşabilecekler.
Facebook Developers Sayfasına Giriş Yapıyoruz Yan tarafta görüldüğü gibi Facebook’ ta Uygulama Geliştir seçeneğini seçiyoruz.
Karşınıza gördüğünüz gibi bir sayfa gelecek aslında burası geliştiriciler için bir doküman sayfası çok yararlı bilgiler var okumanızı öneririm. Ben uygulamama somut adımlarla başlamak üzere hemen uygulamalar sekmesine tıklıyorum.
FIRAT KOYUNCU
Readmee Dergisi | 01 / 2012 5
Gördüğünüz gibi yeni uygulama oluştur a
tıklıyoruz.
Karşımıza çıkan ekranda ilk boşluk uygulamamızın adını, hemen altındaki ise adresinin uzantısını temsil eder yani benim uygulamam
apps.facebook.com/fkappguide adresinden erişilebiliyor olacak.
Şimdi bu sayfada bazı bilgileri girmemiz gerekecek.
Uygulama Ekran Adı : Uygulamamızın ismi
Uygulama Ad Alanı : apps.facebook.com/
yazacaginizicerik şeklinde bir adrese sahip olmanızı sağlar buraya / dan sonra ne yazılmasını istiyorsanız onu yazın.
İletişim E-Posta Adresi : Uygulama için
iletişim adresiniz.
Uygulama Alan Adı : Şimdi bu önemli,
uygulamanızı bir yerde konumlandırmanız gerekiyor ben bir Host(Web Alanı) ve Domain(Alan Adı) sahibi olduğunuzu varsayıyorum. Kendim buraya kendi web sitem olan fkdesigner.com adresini girdim. Yani uygulamamın dosyalarını kendi siteme yükleyeceğim facebook benim sitem ile etkileşimde bulunarak uygulamayı çalıştıracak.
Kategori : Uygulamanıza uygun bir kategori
seçin.
Hemen aşağı bölümde Facebook’ ta Bir Uygulama bölümüne tıklıyoruz ve çıkan bölüme uygulama dosyasını yerleştireceğimiz adresi yazıyoruz. Tuval ve Güvenli tuval http ve Https bağlantılarını kapsıyor. Yani muhtemelen host ve domaini olan arkadaşların tıpkı benim gibi SSL sertifikaları yoktur bu durumda https bağlantısı kullanarak Facebook’ ta gezinti yapan kullanıcılar bu bağlantıdan çıkıp normal http bağlantısına geçmedikleri sürece uygulamanızı kullanamayacaklar demektir. Değişiklikleri kaydet diyoruz her şeyi yazdıktan sonra.
FACEBOOK UYGULAMASI YAPMAK Fırat Koyuncu
Readmee Dergisi | 01 / 2012 6
Değişiklikler kaydedildikten sonra hemen sol taraftaki menüden izin penceresi seçeneğine tıklıyoruz. İşte burası önemli. Gerekli Türkçe alanları dolduruyoruz ama aşağıda Authenticated Referrals bağlantısına geliyoruz orada kullanıcı ve arkadaş istekleri ve genişletilmiş istekler yer alıyor. Burada _ karakterinin ardından mesela e yazarsak e ile olanlar listelenir ve email seçtiğimizde mail atma yetkisi ya da mail adresi alma yetkisini isteriz kullanıcıdan. İzin listelerinin tamamına ulaşmak için http://developers.facebook.com/docs/reference/api/permissions/#user_friends_perms adresini kullanabilirsiniz. Buna göre gerekli izinleri girip uygulamayı kullanabilir kullanıcılar. Şimdi bundan sonrasını olabildiğince teorik anlatmak zorundayım çünkü zaten başlı başına Facebookta Uygulama Yazmak bir ders olarak anlatılabilir. Neyse bulunduğumuz sayfada soldaki menüden ayarlar yapabiliriz, uygulamamıza logo yükleyebilir, mini ikon yükleyebilir, açıklama girebilir, sözleşme ve politika linkleri girebilir, yetkileri ayarlayabiliriz. Peki uygulamanın içeriğ i ne olacak onu da kendi web sitemize html bir tasarımla php olarak kodluyoruz. Facebook’un açılan penceresi içinde 760px standart içinde iframe yöntemi ile bizim web sitemizdeki uygulama dosyası açılıyor ve kullanıcılar orayı görüyorlar doğrudan. Bu şekilde uygulamaya giriş yapıp kullanıyorlar. Uygulamayı ilk onaylayan her kullanıcı Facebook’ta kendisine ait bir Access Token adlı bir değer yollarlar. Bu değer alfanümerik olup şifrelenmiş ve her üyeye ait her uygulama için özel bir değerdir. Bu değer size gelir bunu Facebook’un geliştiriciler sayfasında vermiş olduğu örnek kodlar ile çözüp görebilirsiniz. Bundan sonra da bu Access token ile kullanıcıya Facebook’ta işlemi komutlarla yaptırtabilir ya da Graph Api sayfasını kullanarak bu Access token ile manuel işlem yaptırabilirsiniz. Maalesef bu kadar kısa ve öz kesmek zorundayım çünkü dediğim gibi bu konu başlı başına bir ders niteliği taşıyor. Umarım hiç başlamamış olanlara bir yol gösterici nitelik taşır. Bu arada bu tür bilgileri bizimle paylaştığı ve benim de uygulama mantığını kavramama yardımcı olduğu için değerli abimiz Salih Toprak’a teşekkürlerimi, saygılarımı sunuyorum.
FACEBOOK UYGULAMASI YAPMAK Fırat Koyuncu
Readmee Dergisi | 01 / 2012 7
Zam
anım
ızın
büy
ük b
ir ç
oğun
u on
a ha
rcıy
oruz
. Tel
eviz
yon
izliy
or,
film
ler
indi
riyo
r, m
üzik
din
liyor
uz. D
ükka
nlar
, çif
tlik
ler,
ord
ular
, ül
kele
r ku
ruyo
r, p
aral
ar k
azan
ıyor
/kay
bedi
yor,
alış
veri
ş yap
ıyor
, ye
mek
sip
ariş
i ver
iyor
uz. B
ilet,
fatu
ra v
e ba
nka
işle
mle
rim
izi
gerç
ekle
ştir
iyor
uz. B
asılı
ola
rak
düny
adak
i küt
üpha
nele
re sı
ğmay
acak
an
sikl
oped
ilerc
e bi
lgi o
na s
ığıy
or. D
aha
kom
şum
uza
sela
m v
erm
ezke
n on
un a
racı
lığıy
la g
erçe
k ha
yatt
a ta
nışm
amız
ın im
kans
ız o
lduğ
u ki
şile
rle
diya
log
kuru
yoru
z. H
atta
evl
eniy
or, a
ile k
uruy
or y
aşay
ıp ö
lüyo
ruz.
Yer
i ge
liyor
ora
da ö
rgüt
leni
yor ç
eşit
li or
gani
zasy
onla
r dü
zenl
eyip
insa
nlar
a ya
rdım
edi
yor,
dev
let p
olit
ikal
arın
ı etk
iliyo
ruz.
Kıs
acas
ı bir
insa
nın,
ha
yatı
nda
olan
eyl
emle
rin
nerd
eyse
hep
sini
yap
ıyor
fark
ında
olm
adan
ke
ndim
ize
yeni
bir
dün
ya d
üzen
i kur
uyor
uz.
Am
acım
ız, R
eadm
ee İn
tern
et Z
irve
si '1
2 ile
bu
yeni
dün
ya d
üzen
inin
bir
pa
rças
ını s
izle
re su
nmak
ve
çeşi
tli k
onul
arda
sizl
eri b
ilgile
ndir
mek
ol
acak
tır.
Detaylı bilgi için readmee.com/riz12
Sen de onun bir parçasısın!
Readmee İnternet Zirvesi ‘12 29 Mart’ta!
Detaylı bilgi için readmee.com/riz12
.
FIFA 12’de Türkiye Süper Ligi
Futbol oyunları tutkunlarının en önemli tartışmalarından biridir
belki de Pro Evolution Soccer – FIFA karşılaştırması. Pro
Evolution Soccer ile en iyi futbol oyunu tahtını kapan ve yıllarca
orada oturan KONAMI geçtiğimiz sene sallanmaya başlayan
tahtını bu sene yeni çarpışma motoru ve geliştirilmiş oyun
dinamiğiyle gelen FIFA 12 ile yeniden EA Sports’ a kaptırmış
gibi görünüyor. Öyle görünüyor çünkü en büyük PES
tutkunlarından biri olan ben de tamamen FIFA tarafına geçmiş
bulunmaktayım. Bu iki oyunun birçok yönü karşılaştırılarak
tartışma konusu çıkarılabilir ama tartışılmayacak bir konu var. O
da lisans konusu. FIFA 12 serisine kadar 24 ülkeden 31 ligin
lisansını elinde bulunduran EA Sports, yeni oyununda 2 fire
verdi. Bunlar Türkiye Süper Ligi ve Çek Cumhuriyeti Ligi. Tabi
bizi ilgilendiren kısım Türkiye Süper Ligi’nin oyunda yer
almaması. Türkiye Futbol Federasyonu geçtiğimiz yıl olduğu
gibi toplu lisans anlaşması yapmak yerine bu yıl işi kulüplere
bırakması sonucu FIFA 12’ de Türk takımlarından sadece
Galatasaray yerini aldı. Bu durum birçok oyun severin canını
sıksa da “nasıl olsa birileri yama yaparak ligimizi ekler”
düşüncesi hâkimdi. Bu düşünce açıkçası bende de vardı. Daha
önce yama ekiplerinde görev alıp ufak tefek birçok yama yapmış
olsam da yıllar önce yama yapmayı bırakmıştım. Fakat bu oyun
beni etkilemişti ve Türkiye Ligi olmadan tam olarak tadını
vermiyordu. 2 ay kadar birilerinin ligi ekleme çalışmalarını
bekledim ama bu yönde hiçbir çalışmanın olmayışı sonucu
kolları sıvayıp değişen oyun sistemini ve dosya yapılarını
inceledim. İncelemekle kalmayıp oyuna hiçbir takımı silmeden
Fenerbahçe’yi ekleyip internette yayınladım. Duyulan ilgi ve
gelen yoğun istek doğrultusunda da diğer takımlarımızı ve
haliyle Türkiye Ligini yapmaya karar verdim. Tabi bu çapta bir
eklentiyi tek kişinin yapması gerçekten zor, bu yüzden çalışkan
ve güvenilir ekip arkadaşımla birlikte tamamlayıp yayınladık.
Yakın bir zamanda Bank Asya 1.Ligi de eklemeyi düşünüyoruz.
FIFA 12 için olan bu Türkiye Süper Ligi eklentisine
www.soccercenter.net adresinden ulaşabilirsiniz.
SEZAİ SEVİNÇ
Readmee Dergisi | 01 / 2012 8
Eklentinin İçeriğinde Neler Bulunuyor?
-Tüm gerçekçiliği ile Spor Toto Süper Lig Play-Off Statüsü
-Tüm gerçekçiliği ve statüsü ile Ziraat Türkiye Kupası
-Sezon öncesi lig şampiyonu ve Türkiye kupası şampiyonu ile TFF Süper Kupa maçı
-Gerçek Spor Toto Süper Lig logosu
-Spor Toto Süper Lig 2011-2012 Resmi Topu (Beyaz ve sarı olarak iki sürüm)
-Spor Toto Süper Lig'de 2011-2012 Sezonunda görev alan Türk hakemler
-İsteğe bağlı Türk hakem formaları
-Tüm takımlar için klasikleşmiş Türkçe tezahüratlar ve stat anonsları
-Gerçeğiyle birebir Lig TV skorboardu ve logosu
-Gerçeğiyle birebir NTV Spor skorboardu ve logosu (Alternatif seçenek)
-Avrupa kupası maçları için hazırlanan Şampiyonlar Ligi ve Avrupa Ligi modları
-Şampiyonlar Ligi modu için reklam panoları, futbol topu ve Star TV skorboardu.
-Avrupa Ligi modu için reklam panoları, futbol topu ve Euro Futbol skorboardu.
-Yeni kramponlar ve daha fazlası.
2011-2012 Sezonunda Spor Toto Süper Lig İçerisinde Mücadele Eden 18 Takımın;
-Logoları, transfer bütçeleri, gerçeğe en yakın stadyumları, eksiksiz kadroları ve teknik direktörleri
-Gerçeğiyle birebir iç saha, dış saha, kaleci ve bütün alternatif formaları (Tüm kombinasyonlarıyla beraber)
-Gerçeğiyle birebir forma numara stilleri, isim fontları, numara ve isim renkleri
-Gerçeğiyle birebir kaptanlık pazubantları
-Bayrakları ve Taraftar pankartları
-Reklam panoları
-Gerçeğe yakın oynadıkları maç saatleri
Kadrodaki oyuncuların;
-Gerçek menü fotoğrafları
-Gerçek mevkileri ve alternatif mevkileri
-Gerçek forma numaraları, sözleşme başlangıç ve bitiş tarihleri
-Gerçeğe en yakın güçleri
-İyi kullandığı ayakları ve özel yetenekleri
-Doğum tarihi, boy, kilo gibi gerçek özellikleri
-Gerçeğine en yakın generic yüz, saç, ten rengi, saç rengi ve sakalları
-Bazı oyuncuların EA tarafından yapılan özel yüzleri
-Spiker tarafından tüm takımların ve birçok oyuncunun isminin söylenmesi
FIFA 12’de Türkiye Süper Ligi Sezai Sevinç
Readmee Dergisi | 01 / 2012 9
Bunlar Nasıl Yapıldı? Oyunda bulunan tüm liglerin, takımların, oyuncuların, hakemlerin hatta futbol toplarının bile bilgileri bir database
dosyasında tablolar halinde bulunuyor. Tabi bu dosya oyuna özel bir dosya olduğu için bunu herhangi bir programla açıp
düzenleyemiyoruz. Yamayı hazırladığımız zaman bu dosya için yazılan oldukça kısıtlı DB Master adında bir program
mevcuttu. Bu program sayesinde onlarca tablo arasında id numaralarını birbirine bağlayıp binlerce veri ekleyerek işe
başlamak gerekiyor. Tabi eklenen verileri de sık sık oyun içinden kontrol etmek gerekiyor ki oyundan atma sorunuyla
karşılaşıldığında hata kolay bir şekilde bulunabilsin. Yamayı hazırladığımız süreçte işi oldukça kolaylaştıran yama yapım
araçları henüz çıkmadığı için bu konuda oldukça zorlandığımızı söyleyebilirim.
Ek olarak, bu database dosyasına eklenen verilerin bazılarına bağlı grafik dosyası olmak zorunda. Mesela bir takım eklendi,
bu takımın formaları olmak zorunda ve formaların verileri de eklendi diyelim. Sıra bu formaların grafik dosyasını
hazırlamakta. Oyunun grafik dosyalarını bilinen uzantılara (jpeg,png vb.) çeviren ve bu işin tersini yapan uygulamalar
mevcut. Oyundan alınan örnek dosyalar doğrultusunda biz de kendi dosyalarımızı hazırlayarak oyuna aktarıyoruz. Grafik
dosyaları hazırlanırken Photoshop veya aynı işi yapabilen programlar kullanılabilir. Dosyayı hazırladıktan sonra yardımcı
uygulamalar ile oyunda bulanan dosyanın formatına çevirerek oyun dosyalarının yanına ekleniyor.
Fenerbahçe için hazırladığımız çubuklu formanın üst kısmının ve Süper Lig topunun doku dosyaları
Yama Yapımında Yaşanabilen Zorluklar Öncelikle karşılıksız olarak günlerini, haftalarını, aylarını vererek yapılan bir iş olduğundan aşırı motivasyon ve yanında da
yama yapmayı gerçekten sevmek gerekiyor. Daha önce yapılan benzer yamaların olması, yol göstermesi açısından kolaylık
sağlıyor. Yaptığımız eklentide de daha önceki tecrübelerimizi ve bazı kısımlar için önceki oyunlara yapılan yabancı
kaynaklı yamaları örnek alarak zorluk yaşamadık. Ancak bu seride değişen oldukça fazla yapı vardı ve önümüzde kaynak
yoktu. En çok oyunun bu kısımlarını düzenlemekte zorluk çektik ve birçok kişiye öncü olduk. Belirli bir yol kat edip
yayınlanacak sitede eklentinin tanıtımını yaptıktan sonra işten sıkılmaya başlamak karşılaşılan diğer bir zorluk olsa gerek.
Bu durumda verdiğin sözü aklına getirmek ve yamayı bekleyenlerden gelen olumlu yorumlar bir şekilde çalışmayı
tamamlatıyor. Tabi hep olumlu ve yapıcı yorumlar gelmiyor. Neyse ki yıkıcı yorumlar azınlıkta olduğu için dikkate
almamak gerekiyor. Asıl mesele yamayı tamamlayıp sunduktan sonra başlıyor belki de. Her ne kadar kurulumu detaylı bir
şekilde anlatsan da tipik kullanıcılar, kurulum için hazırladığınız yazıyı okuyup yapmak yerine kafasına göre davranıp
sorunlar yaşayabiliyor ve bu sorunlarla da uğraşmak zorunda kalınıyor. Yamayı yayınlamadan önce ne kadar test etseniz de
geniş çaplı çalışmalarda kullanıcılar tarafından bulunan hatalar ve eksiklikler oldukça fazla oluyor. Yaptığınız çalışmanın
binlerce kişi tarafından kullanılmasını istiyorsanız yapılan yapıcı eleştirilere kulak vererek çalışmanızı sürekli ileriye
taşımanız ve güncel tutmanız gerekiyor. Eksiklikleri ve hataları giderip güncelledikçe çalışmanız daha fazla kişi tarafından
keşfedilebiliyor. Eklentiyi yapıp yayınladıktan sonra en sıkıcı durumu yaratan ise emek hırsızları. Bu tür yamalarda
beklenti sadece karşılıksız olarak verilen emeğe saygı gösterilmesi ve kullanıcılardan gelen yapıcı yorumlar. Bunun
haricinde oyuna ilgi duyanlar tarafından sanal tanınmışlık dışında bir getirisi olmadığı halde emek hırsızları ile
karşılaşılabiliyor. Aylarınızı vererek yaptığınız çalışmanın başka sitelerde kendileri tarafından yapılmış gibi gösterilmesiy le
karşılaştığınızda keyfiniz gerçekten kaçabiliyor. Yaptığımız bu eklentide de en büyük sıkıntımız bu konu oldu. Örnek
vermek gerekirse, daha önce yapılmamış bir çalışmaya imza atarak oyuna Play-off statüsünü eklemiştim ve bu diğer Türk
yama yapımcıları tarafından yapılamadı. Bunun sonucunda ise çalışmam iznim olmadan alınarak kendileri tarafından
yapılmış gibi yayınlandı. Hâlbuki izin alınsa veya kaynak belirtilse hiçbir sorun olmayacaktı. Haberim doğrultusunda
çalışmam daha fazla kişiye ulaşmış olacak ve bu da beni mutlu edecekti. Yine de çoğunluğun verilen emeğin yanında
olduğu söylenebilir. Bunu bilmek yapımcıyı teşvik etmeli. Sonucunda binlerce kişinin çalışmayı indirip kullanması
mutluluk verecektir.
FIFA 12’de Türkiye Süper Ligi Sezai Sevinç
Readmee Dergisi | 01 / 2012 10
ASSEMBLY PROGRAMLAMA DİLİ Merhaba arkadaşlar bu ay ne yazsam diye düşünürken gelen maillerimde ikinci dönemki ders programı içerisinde
Assembly Dersi’nin varlığından haberdar oldum. Son zamanlarda ismini sıkça duyduğum Assembly’den( ki çoğu kişi
tarafından hala ne anlama geldiği bilinmeyen kodları olan bu dilden… ) elimden geldiğince bahsedeceğim. Umarım
faydalı olur. Assembly programlama dili düşük seviyeli bir dil olup C, C++, Pascal, Fortran, Cobol, Lisp, Basic gibi
yüksek seviyeli programlama dillerine göre anlaşılması biraz daha zordur. Bu dille program yazarken yazılan kodlar
çoğunlukla donanıma bağlı olduğundan bilgisayarların donanım özellikleri önemlidir.
Assembly ile program yazan programcı doğrudan bilgisayarın hafızası ve işlemcisi ile ilgilenir. Böylece hafızadaki
(RAM’ deki) ve işlemci gözlerindeki değerleri doğrudan değiştirme olanağına sahiptir. Bu dil ile bildiğiniz şekilde
değişken oluşturma ve yönetme şansınız yoktur. Örneğin ”int a=5;“ gibi komutlarınız yoktur. Çünkü yukarıda da
dediğimiz gibi birçok fonksiyon, değişken yönetimi gibi şeyleri programcı yapar. Bir değişkenin saklanacağı bellek
adresi, uzunluğu vs. tamamen programcının denetiminde ve sorumluluğundadır. Bilgisayarımızda çalıştırılan tüm
programlar önce bilgisayarımızın RAM’ ine yüklenir. Daha sonra RAM üzerinde çalıştırma işlemi gerçekleştirilir. RAM’e
yüklenen bilgi programımızın makine dili karşılığından başka bir şey değildir. Makine dilinin kullanıcı tarafından
anlaşılabilir şekline ise assembly dili
demek pek yanlış olmaz.
Evet eğer assembly dili ile uğraşacaksanız
2’ lik ve 16’ lık sistemleri iyi bilmeli ve bu
sistemler ile 10’ luk sistem arasındaki
dönüşümleri rahatça yapabilmelisiniz. Çünkü
bilgisayarlar ( aslında tüm elektronik cihazlar
dersek daha iyi olur ) binary sayı sistemi
dediğimiz ikilik sayı sistemini kullanır ki bu
sistemde sadece 0 ve 1 vardır. Bilgisayar için
0’ ın anlamı “ yanlış ” ( FALSE ) ve 1’ in
anlamı “ doğru” ( TRUE ) dur. Buna karşın
assembly programları yazılırken kullanılan
sayı tabanı hexadecimal olarak bilinen on altılık sayı tabanıdır. Assembly dili ile onaltılık sayı sisteminin kullanılmasını n
sebebi, bellek adresi gibi uzun rakamların ikilik sistem ile gösterilmesinin zorluğudur. Sayı tabanı büyüdükçe herhangi bir
sayıyı göstermek için gereken basamağın sayısının azalacağı açıktır. Mesela “1BA5:010F ” gibi bir bellek bölgesinin
adresini ikilik sistem ile göstermek isteseydik “0001101110100101:0000000100001111 ” şeklinde olacaktı ki bu hem
akılda tutması hem de yazması zor bir sayı.
CEMİLE SARICAOĞLU
Readmee Dergisi | 01 / 2012 11
Bilgisayarda saklanan ve işlenen verilerden bahsetmişken hemen bunların çalışan programlar için nerelerde yapıldığına
bakalım. Normal dillerle yazılan programların tamamı değişkenleri bellekte saklar. Her değişkene ait bir bellek adresi
vardır. Hatta pointerlar' la ilgilenenler bu bellek adresilerini biliyorlardır. Assembly kullanırken bu pointerlar bizim
değişkenlerimizi temsil edecek dersek eğer pek de yanlış sayılmaz. Ancak işlemci komutları genelde doğrudan bellek
üzerinde işlem yapmak yerine genelde register adı verilen işlemci çekirdeği üzerindeki sabit değişkenler üzerinde
değişiklikler yaparlar. Bu registerları Data registerları, Pointer ve Index registerları, Segment registerları, Instruction
Pointer (komut göstergeci) ve Program Status Word (Flag registerı) olarak gruplandırabiliriz.
Bellekle segmentlere ayrılmış şekildedir. Segment sözcüğünü dilimize katman olarak çevirebiliriz. Bu katmanlarda
benzer tip veriler bir arada tutulur. Örneğin Code Segment (CS)' ta programınızın kodları bulunurken Data Segment (DS)'
ta kullandığınız bazı değişkenlerin verileri tutulur. Bunların yanında Stack Segment (SS) ve Extra Segment (ES) gibi
başka katmanlar da bulunur. Tüm bu katmanların başlangıç adresleri yanlarında parantez içinde belirttiğim kısaltmalarla
aynı adlardaki özel registerlarda tutulur. Segmentlerin içindeki hücrelere ulaşmak için de adresleri (offsetleri) kullanırız.
Veri yazma ve oku işlemleri DS üzerinde yapılır. O zaman biz bir bellek okuması veya yazması yapacağımız zaman
sadece işlemi yapacağımız adresi bilmek zorundayız. İşlemci otomatik olarak DS' de tutulan değere bizim verdiğmiz
adres değerini ekler ve ilgili hücreye veriyi yazar yada bu hücreden veriyi okur.
Yan tarafta 8086 işlemcinin register yapısı yüzeysel olarak
gösterilmiştir.
Yukarıda da belirttiğimiz gibi işlemci, register adı verilen
bölmelerden oluşur. Registerlar işlemci çekirdeğinde
olduğundan zaman harcamadan istenen işleme göre
içerikleri kullanılabilmektedir. Normalde bellekteki verilere
ulaşmak belirli bir zaman gerektirir. Programların hızlı
çalışmaları assembly kodlarının sadeliğinden
kaynaklanmaktadır. Fakat günümüzde kullanılan yüksek
hızlı işlemciler ve büyük kapasitelere sahip sabit diskler
assembly programlarının bu özelliklerini önemsiz kılmaktadır.
Aşağıdaki örnekte ekrana “A” harfini basan bir program önce assembly dili ile daha sonra C ve Pascal dilleri ile
yazılmıştır. Programların yaptıkları işlerin aynı olmasına karşın boyutları arasındaki büyük farka dikkat edin.
Gördüğünüz gibi C ile yazılan programın boyu assembly ile yazılanınkinin boyunun 1000 katından daha büyüktür. Pascal
ile yazılan programın boyu ile assembly ile yazılanınkinin boyunu karşılaştırmaya bile gerek yok sanırım. Bu fark eski bir
bilgisayar için önemli olabilir fakat günümüz standartlarındaki bir bilgisayar için pek önemli değildir. Bu sebepten
assembly programlama dili günümüzde daha çok sistem programcıları tarafından ve inline olarak diğer programlama
dilleri içerisinde kullanılmaktadır. “inline assembly” ile kastedilmek istenen, assembly kodlarının olduğu gibi yüksek
seviyeli bir dil içerisinde kullanılmasıdır.
ASSEMBLY PROGRAMLAMA DİLİ Cemile Sarıcaoğlu
Readmee Dergisi | 01 / 2012 12
Şimdi biraz içeriğine girersek. Assembly dilindeki komutlar yani işlemcinin temel komutları genelde 2 parametre kullanır
ki bunlara operand deniliyor ve bunlar register adı, bellek bölgesi ya da sabit bir sayı olabiliyor. Burada komutlardan
sonra operand giriyorsunuz. Bazı komutlar operandsız da olabiliyor. Mesela MOV komutu 2 operand alır. İlk operand
atama yapılacak yeri belirtirken ikinci operand atama yapılacak değeri belirtir. Buraya sabit bir sayı yazabileceğiniz gibi
bir bellek bölgesi ya da register adı da yazabilirsiniz.
Burada PUSH komutu örnek olsun diye verebiliriz. PUSH komutu arkasından verilen operandın değerini bellek yığınına
atar ve arkasından çağırılan POP komutuyla bu değeri POP komutunun operandına geri yükler. Yanlız burada işlemin
sırayla olduğunu unutmamanız gerekiyor.Yani
PUSH EAX
PUSH EBX
.
POP EAX
POP EBX
gibi bir komut yazarsanız EAX' ın değeri EBX' e, EBX' in değeri de EAX' a atanmış olur. Çünkü en son EBX' in push
edilmesine rağmen ilk POP işleminde EAX kullanıldı. Özetlersek ilk giren son çıkar ya da son giren ilk çıkar diyebiliriz
ki bu da yığının mantığıdır.
Assembly’ de for ve while döngülerine karşılık LOOP komutu vardır. For ve while döngülerde kullandığımız değişkenler
mesela ” for int i=0;i<20;i++ “ buradaki i yerine assemblyde standart olarak ECX registerı kullanılır. . Bu registera
döngünün kaç kez çalıştırlacağı atadıktan sonra işletilecek komutların sonuna LOOP {adres} komutunu yazıp adres
olarak da komutların başlangıç adresini verirseniz eğer tam bir for döngüsü elde etmiş olursunuz.Burada dikkat etmeniz
gereken birkaç nokta var. Öncelikle döngü komutu içerisinde asla ECX' in değerini değiştirmemelisiniz. Değiştirmek
zorunda kalırsanız da mutlaka PUSH ve POP komutlarını gerekli şekilde kullanıp orijinal değerini geri döndürmeniz
gerekir.Aksi takdirde döngünün uzunluğu alakasız şekilde değişebilir. İkinci olarak, LOOP' a operand olarak verdiğiniz
adres ECX registerına döngü sayısını atadığınız yerden sonra olmazsa programınız sonsuz döngüye girer. LOOP' un 2
farklı versiyonu daha var: LOOPZ ve LOOPNZ. Bunlar da hem ECX' in değerine bakıyorlar hem de "Zero Flag"inin
değerine. LOOPZ, Loop if zero; LOOPNZ ise loop if not zero yani LOOPZ sıfır olduğu sürece, LOOPNZ de sıfır
olmadığı sürece döngüye devam et anlamına geliyor. Eğer döngü içinde bir CMP işlemi varsa bu komutlardan birini
kullanarak döngü sayısı bitmeden döngüden çıkılmasını sağlayabilirsiniz. Bu da döngü içinde kullandığımız "break;"
komutuna benziyor.
Evet arkadaşlar elimden geldiğince assemblyden bahsetmeye çalıştım. Çok çok iyi olmamış olabilir. Ama bu kadar geniş
kapsamlı bir konudan bahsetmek gerçekten de zormuş:)) Özellikle de neyden nasıl bahsedeceğimi belirleme aşaması
baya bir uğraştırdı.Umarım faydalı bir yazı olmuştur. Yazımıda bazı kısımlarını kullandığım http://www.enginkuzu.org/
kaynağından assembly hakkında daha fazla bilgi alabilirsiniz.
ASSEMBLY PROGRAMLAMA DİLİ Cemile Sarıcaoğlu
Readmee Dergisi | 01 / 2012 13
Virüs Tanımı ve Çeşitleri Bilgisayar virüsü deyince sizin aklınıza ne gelir tam olarak bilemiyorum
ama benim kendimce bir tanım yapmamı isterseniz geçenler de beni
bilgisayarıma format atmak zorunda bırakan, bilgisayarıma bulaştığı
andan itibaren onu kendi amaçları doğrultusunda doyasıya sömüren
programcıklar olduğunu söyleyebilirim. Neyse biz şimdi işin bilimsel,
mantıklı ve tarihi yanlarını ele alalım ve virüs tanımı, ufak bir geçmişi,
çeşitlerinden ve çalışma prensiblerinden biraz bahsedelim.
Bilgisayar virüsleri, bilgisayarın çalışmasını engelleyecek, verileri
kaydedecek, bozacak veya silecek ya da kendilerini Internet üzerinden
diğer bilgisayarlara yayarak yavaşlamalara veya başka sorunlara neden
olacak şekilde tasarlanmış yazılım programlarıdır. Gizlenir ve sürekli
değişik yollarla kendisini olabildiğince yaymaya çalışır. Neredeyse her
çeşit dosyaya kendisini ekleyebilir. İnternet bağlantınız varsa yayılmak
için çeşitli işletim sistemi açıklarını kullanırlar. Virüsler bir çeşit bilgisayar
uygulaması olarak da düşünülebilir, tek farkı kullanıcının isteği veya
haberi olmaksınız çalışmasıdır.
İlk virüs denemeleri; 1946 Yılında EDVAC' ın Yapımcısı Olan Dr. Von Neuman TOCA (Theory and Organization of Complicated Automata -
Karmaşık Özdevinirin Teorisi ve Organizasyonu) adı altında hazirlamış olduğu yazı dizisinde bilgisyar programlarının
kendilerini kopyalayabileceğini öne sürmüş.
1950 Yılında bell laboratuvarında bu teori hayat bulup, ”Core Wars” İsimli virüs(oyun) yazılmış.
Virüs denilemeyecek kadar basit olan Core Wars' in ardından ilk gerçek virüs 1981 yılında Elk Cloner adı İle ortaya çıktı.
Diğer öğrenciler zararlı olması muhtemel bilgisayar programları hakkında yazılı ödevler hazırlarken, Fred Cohen çalışan
bir virüs örneği geliştiren ilk kişi oldu.
Cohen, hazırladığı ödevde bilgisayar virüsünü "diğer programlara kendisinin bir versiyonunu bulaştıran bilgisayar
programı" olarak tanımlamıştı.
Öğrenci, hazırladığı virüsü, Vax adlı mini-bilgisayarı geliştirmek için yazılan bir grafik programına ekledi. VD adlı grafik
programının içine gizlenen virüsün, kullanıcıların bilgisayardaki hareketleriyle cihazdaki diğer programlara bulaşmasını
gözlemleyen Cohen, virüsün bütün sisteme bulaşma sürecini takip etti. Testleri sürdüren Cohen, virüsün sistemdeki
herhangi bir parçaya, bir saatten az bir sürede ulaştığını, en kısa sürenin de beş dakika olduğunu gördü.
Doktora öğrencisi, 10 Kasım 1983'te düzenlenen bir güvenlik konferansında deneyin sonuçlarını sundu. Bilgisayar
virüsünün ilk modelinin yarattığı şaşkınlığın ardından bu tür başka deneyler yapılması yasaklandı ancak Cohen, diğer
bilgisayar sistemlerini etkileyebilecek benzer virüs modelleri geliştirdi. "Virüsler bilgisayar şebekelerinde de tıpkı
bilgisayarda olduğu gibi yayılıyor. Bu da virüslerin mevcut şebekeler için bir tehdit olduğunu gösteriyor" diyen Cohen'in
sözleri bugün gerçekleşen bir kehanet olarak karşımıza çıkıyor.
Bu virüsün işlevi ise ekrana bir şiir yansıtması idi.
it will get all your disks / O Tüm Diskleri Alacak
it will infiltrate your chips / O Tüm Çiplerinize Girecek
yes it's cloner / Evet O cloner
it will stick to you like glue / O Size Zamp Gibi Yapışır
it will modify ram to / O ram'i de Değiştirir
send in the cloner / cloner'ı Gönderin
CIA enformasyon dairesinin kayıtlarına göre ilk zararlı virüsler 1985 tarihinde ortaya çıkıyor. 1983'te Cohen tarafından
yazılan, kendi kendini çoğaltan uygulamanın bu temel esasından faydalanarak hem bilgisayarın işletim sisteminde zararlı
değişiklikler yapan, hem de kendini kopyalayabilen uygulamalar yazan bazı geliştiriciler, isimlerini bu şekilde şöhret
listelerine yazdırmayı planlıyorlar. Bu uygulamaları değişik yollarla diğer kullanıcılara aldatıcı yöntemlerle ileterek
virüslerin yayılması sağlanıyor.
Bilgisayar ağları yaygınlaşmadan önce virüsler çeşitli taşınabilir depolama ortamları (disket, CD -ROM vs.) aracılığı ile
yayılırdı.
PELİNSU ÖNAL
Readmee Dergisi | 01 / 2012 14
Virüs çeşitlerinden bahsedecek olursak;
Bulaştıkları yapıya göre : Boot Virüsleri , Dosya Virüsleri , Makro Virüsleri
1.Boot Virüsleri : Sabit disklerin, ilk sektörüne bulaşan ve buradaki dosyalara zarar veren virüs türleridir.
Boot virüslerine örnek olarak : Michelangelo, Neardark ,Stealth
-Neardark : Diğer bilinen adları bloomington, No Int, Stoned, Stoned III, LastDirSect, NewZealand dir.Sabit diskin bölüm
tablolarına ve disketlerin açılış sektörüne bulaşır.
-Stealth : Aktif olarak kendini saklayabilen bir virüstür.Adını türünden alır ve Stealth.b Olarak Boot virüsleri diskimizin
içinde bulunur.
2-Dosya Virüsleri: Dosyaların kaynak kodlarına kendilerini ekleyen virüslerdir.
Dosya Virüslerine Örnek Olarak : Chernoby, Fun Love , Nimda
-Chernobyl : Adını nükleer kazasından alan , bu virüs nükleer kazanın olduğu tarihte çalışır ve çalıştığı an itibari ile Flash '
ını yazmayı dener. Büyük hasarlara yol açan Chernobyl bazı anakartlarda düzeltilmez hasarlar oluşturabilen bir virüstür.
-Fun Love : Fun Love virüsünün en şaşırtan yönü , Microsoft' un resmi sitesinden indirilen Update(Güncelleştirme)
dosyalarınada bulaşmış olmasıdır. Virüsün diğer özelliklerinden bahsetmek gerekirse hem 9x ve Nt sistemlerde
çalışabilmesidir. Exe, OCX dosya türlerine bulaşabilen bu tür ağdan yazma hakkının varolduğu klasorlerede
bulaşmaktadir.
-Nimda : Adını "Admin/Yönetici" kelimesinin tersten okunması ile alan Nimda Virüs’ ü ,worm virüs birleşiminden
oluşturmuştur. Bulaştığı sistemlerde Load.exe isimli bir dosya oluşturur ve bu dosyayi system.ini dosyasina yazdırır. Boot
kısma yazdırır. Explorer ve e-posta yolu ile yayilmasi, Nimda virüsün yayılma hızını arttırır.
3.Makro Virüsler : Word, excel gibi programların macro dili kullanılarak yazılan virüs türlerine macro virüsleri diyoruz.
Macro Virüsleri’ ne Örnek Olarak : Melissa, FormatC, Hot, Concept
-Melissa : 99 yılında çok büyük hasarlara yol açan Meslissa Virüs’ ü word dosyamızın içine kodlanir, belge açıldığı anda,
Outlook' u açarak Contact List' imizde bulunan ilk 50 kullanıcıya kendini e-posta aracılığı ile yollar.
-FormatC : Bu macro çalıştığı sistemlerde, Dos aracılığı ile c: diskini formatlamayı dener.
-Hot : Bu virüsün garip yönü, bulaştığı sistemlerde 14 gün beklemesidir. 14 gün sonunda aktifleşen bu virüs açılan ilk
word belgesinin içeriğini komple siler.
-Concept : Virüsü ilk ve en yaygın Macro Virüsü’ dür. Halen daha farklı isimler ve kodlar ile yaşamakta olan bu virüs,
bulaştığı belgede "1" mesajı verir.
Karakteristik Özelliklerine Göre : Polimorfik Virüsler, Stealth Virüsler, TSR Virüsler
1.Polimorfik Virüsler : Bulaştığı andan itibaren kendini kaynak kodlarını değiştiren virüs türleridir.
2.Stealth Virüsler : Buluşatıkları sistemlerde kendilerini geliştirebilen ve kodlarında değişiklik yapanbilen virüs türleridir.
3.TSR Virüsler : Kendilerini RAM' e yazanbilen virüs türleridir.
Virüsler nasıl çalışır?
Temel virüsler genelde yeterli bilgisi olmayan bilgisayar kullanıcıları tarafından
farkında olmadan paylaşılır veya gönderilir. Solucanlar gibi daha karmaşık olan
virüsler, bir e-posta paylaşma uygulaması gibi diğer yazılımları denetleyerek
kendilerini otomatik olarak çoğaltabilir ve diğer bilgisayarlara gönderebilir. Truva
atı adı verilen belirli virüsler (adlarını efsanevi Truva Atı'ndan alırlar), faydalı bir
program gibi görünerek kullanıcıların aldanıp onları karşıdan yüklemelerine yol
açabilir. Bazı Truva atları, beklenen işlemleri yerine getiriyor gibi görünürken bir
yandan da sisteminize veya ağa bağlı diğer bilgisayarlara zarar verebilir.
Bu farklı virüs türleri ve nasıl çalıştıkları konusunda bilgi sahibi olmak faydalı
olmasına rağmen, en önemli nokta, bilgisayarınızı en son güncelleştirmeler ve
virüsten koruma araçlarıyla güncel tutmanız, en son tehditler hakkında bilgi sahibi
olmanız ve Internet'te gezinirken, dosya karşıdan yüklerken veya ekleri açarken
birkaç temel kurala uymanızdır. Bilgisayarınıza bir virüs bulaştığında, virüsün
türü veya nasıl bulaşmış olduğu değil, onun temizlenmesi ve sonraki bulaşmaların
engellenmesini naslı yapacağımız daha önemlidir.
Virüs Tanımı ve Çeşitleri Pelinsu Önal
Readmee Dergisi | 01 / 2012 15
BATMAN: ARKHAM CİTY Evet arkadaşlar bir incelemeyle daha birlikteyiz. Bu sefer Gotham City'nin karanlıklarında doğan bir
kahramanın peşinden maceralara sürükleneceğiz. Batman’in Ready at Dawn Studios tarafından çıkarılan
2. Oyunuyla, Batman: Arkham City ile birlikteyiz. İlk oyunda seriyi tekrardan dirilten oyun firması,
bakalım bu sefer ne gibi hünerler sergilemiş. Oyun ilk oyundan sonra Gotham City’nin
bir bölümünün yasayla ayrılıp, bir hapishaneye çevrilmesiyle başlıyor. Şehrin en azılı suçluları
“Arkham City” olarak adlandırılan bu hapishaneye kapatılıyor. ”Bu suçlular yalnızken bile über
derecede tehlikeliyken, bunları biraraya koymak bariz salaklıktır” diyen Bruce Wayne
buna karşı çıkıyor. Bu yüzden yakalanıp bu şehir hapishanesine atılıyor. Bu andan itibaren
onlarca azılı suçlu arasında Batman olarak olayların arkasındaki entrikaları çözmeye
çalışıyoruz. Bir de bunun yanında Jokerle uğraşmak durumunda kalıyorsunuz.
Buna da ek olarak oyunun başında bir tuzakla size ölümcül bir virüs enjekte
ediliyor. Yani hem hikayeyi çözeceksiniz, hem Jokerle uğraşacaksınız, hem de
Batman’in gidişatına bir çözüm bulacaksınız.
Hikayemiz başta basit gibi gözükse de göründüğü kadar basit değil. İlerde öyle
dallanıp budaklanıyor ki film izliyormuşçasına sarılıyorsunuz hikayeye.
Çizgi romandan tanıdığımız çoğu karakteri de içinde barındırıyor oyun.
Haliyle onlar da hikayeye dahil olunca hikaye öyle sarıyor ki oyunu bir oturuşta
bile bitirebilme azmi aşılıyor.
Grafik, Sesler ve Atmosfer İlk oyunda olan grafikler geliştirilmiş. Gerçekten çok güzel duruyor. Kar yağışında
tanelerin Batman’in kostümüne düşüp erimesini bile görebiliyorsunuz. Bunun
dışında ilk oyundaki oyun sonlarına doğru Batman’in sakallarının uzaması,
pelerinin yırtılarak gitgide delik deşik olması gibi olaylara burada da
rastladım. Bu dinamik sistemi kullandıkları için yapımcıları kutlamalıyım.
Çoğu “Benim” diyen bazı günümüz oyunlarında hala bu sistem
mevcut değil. Tabii ki her şey grafik değil. Özellikle eski toprak
oyuncu arkadaşlar atmosfer arayacaklardır. Bence de atmosfer bir
oyunda grafikten daha önemli bir yapıdır. Hala Vice City’i deli gibi
oynarım mesela. Grafiklerinin günümüzde çok parlak olmadığı doğrudur
ama başlıca evladiyelik oynanabilirlik(bknz: yeni terim uydurma,sallama)
sebebi atmosferdir. Neyse bu başka bir yazının konusu. Oyuna dönersek
oyunda atmosfer süper arkadaşlar.Arkham City’i tam da hayallerimizdeki gibi karanlık ve kasvetli yaratmışlar. Batman bu
şehirle öyle bütünleşiyor ki bir an gerçek olabilir diye düşünüyorsunuz. Şehrin her tarafında bir ayrıntı sözkonusu. Örnek
vermek gerekirse dolaşırken
rastgele bir sokağa
girdim.Yerde tebeşirle 2
silüet çizili olduğunu
gördüm. Acaba dedim
yapmış olabilirler mi?
Mekan da benziyor. Gittim
baktım evet yapmışlar
arkadaşlar. Bruce Wayne
küçükken bir davet çıkışı
ara sokakta öldürülen
ailesine bir gönderme
yapmış yapımcılar. İzlerin
yanına gittiğimde Batman
diz çöktü ve ardından hüzünlü bir müzik girdi. Bu anda öyle bir hüzünleniyorsunuz ki sanırım ana karakterin yerine
kendini koymak bu olsa gerek. Nihayetinde atmosfer benden tam not aldı arkadaşlar.
Sesler ise yine oyuna puan katan derecede. Yaşanılan o ana göre sesler ve müzikler değişiyor. Şehirde aylak dolaşırken
sakin bir müzik ortamı süslerken, dövüşlerde gaza getirici hareketli müzikler çalıyor. Bu artık her oyunda var
diyebilirsiniz. Ama müzikler öyle bir oluşturulmuş ki, her ses puzzlelar gibi birbirine tam oturmuş diyebilirim. Ses ve
müziklerin atmosfere ciddi derecede katkısı olduğunu söylemeden geçemeyeceğim.
ALİ AŞKIN
Readmee Dergisi | 01 / 2012 16
İçerik.. Oyun içerikten taşıyor arkadaşlar. Yeni kostümlerden tutun da oynanabilir yeni karakterlere ekstra şeyler varken, yan
görevler de bir o kadar fazla. Gta’da klasik olan gizli paket tarzı belli miktarda Riddler Trophy’leri toplamaktan, şehrin
çeşitli yerlerinde sizi yukarılardan izleyen gizemli yabancının gizemini çözmeye kadar çeşitli görevler oyunda mevcut.
Bazen Gotham polislerine yardım ederken bazen Bane ile sırtsırta çarpışabiliyorsunuz. Dedektif tarzı, öldürülen
suçluların failini bulma gibi görevler de içeriyor oyun. Öyle çeşitli ve sıkmayan yan görevler var ki hepsini yapmaya
çalışırken ana hikayeyi unutturacak derecede iddialı kendileri. Bir de bu görevlere yan hikaye ve görev sonrası bir ödül
verilince (bazen önemli bir teçhizat bile olabiliyor) tadından yenmiyor.
Bu içeriklerden en önemlisi PC’ye ekstra olarak gelen(diğer platformlarda indirilebilir içerik olarak sunulan) Catwoman
oynanabilir karakteri. Bu karakterle Batman’in hikayesi bazı bölümlerde iç içe geçmiş. Bu da oyuna koca bir artı
vermemi sağlıyor. Mesela bir bölümde Catwoman olarak oynarken Two-Face ‘e yakalanıyorsunuz. Aynı mekandan
tesadüfi biçimde Batman ile geçerken Catwoman’ı Two-Face’ten kurtarıyorsunuz. Oyunda Catwoman’ın son görevine
bağlı 2 tane oyun sonu var. Bu seçilebilir oyun sonlarını görmek beni mutlu etti. Oyun bu konuda da benden güzel not
aldı.
Oyun serisi kapalı bir hapishaneden şehre geçince de uçuş sistemini elden geçirmek durumunda kalmışlar. Batman ile
şehrin üstünde süzülmek çok zevkli. Eğer grapnel boost
özelliğini de yan görevden kazanırsanız(bir an önce almanızı
tavsiye ederim) şehirde sıkılmadan dakikalarca
süzülebilirsiniz. Diğer yandan Catwoman ile oynarken şehirde
gezinmekte biraz zorlandım. Bu belki benim
beceriksizliğimden kaynaklanabilir, zaten Catwoman içindaha
başla türlü bir tırmanma/gezinme sistemi benim aklıma da
gelmiyor. Olabileceğinin en iyisini yapmışlar.
Bu kadar içerikten patlayacak bir oyuna bir de yeni Dlcler
eklenince(özellikle Robin ve Nightwing oynanabilir
karakterleri) oyun verilen parasını son kuruşuna kadar
hakediyor. Son dönem çıkan “Hikayeyi yap, grafiği bas,
gerisini boşver hacı” oyunlarına da “Oyun nasıl yapılır” dersi
veriyor adeta. Açıkça konuşmak gerekirse bu kadar çeşitli ve oturaklı görevi Gta serilerinde bile görmedim diyebilirim.
Bunun dışında genelde japon oyunlarında gördüğümüz “Bitirince geliştirdiğin özelliklerin kalsın, bir de öyle oyna usta”
başlangıcını Arkham City’e de koymuşlar, hoş olmuş.
Özetle dört dörtlük bir oyun var karşımızda. Kendisi yılın son dakika golü olarak benden “Game of the Year” ödülünü de
rahatça aldı. Bu kadar kaliteli rakibinin arasından içeriği ve atmosferi ile rahatça sıyrıldı. Çok ufak tefek eksikleri olsa da
bu eksiklerin lafını bile etmiyorsunuz. Bu efsaneyi hemen koşarak almanızı tavsiye ediyorum.Yalnız oyun öyle bir
bitiyor ki, hüzünlenmemeniz elde değil. Şahsen 1 hafta etkisinden çıkamadım, sizi de uyarayım. Sadece bu son bile
oyunun efsane olmasını sağlıyor.
Artılar: Geliştirilmiş combat sistemi, grafikler, sesler, oyunun içine çeken atmosfer,dolu dolu olan içerik
Eksiler: Ufak tefek bug’lar, Ana hikaye sonrası yaşanılan hüzün(Boş kalmasın diye yazdım, eksi bulamadım)
Not: 97
Dövüşlerden
bahsetmişken dövüş
sisteminden
bahsetmeden olmaz. İlk
oyundaki dövüş sistemi
daha akıcı hale
getirilmiş. Artık birden
fazla kişiyle aynı anda
dövüşebilir, counter
yapabilirsiniz. Özellikle
sessiz ilerlemeniz
gereken bölümlerde bu
özellik çok işinize
yarayacak.
BATMAN: ARKHAM CİTY Ali Aşkın
Readmee Dergisi | 01 / 2012 17
ALGORİTMA NEDİR? Adım adım işlem basamaklarının yazılmasıdır.
Programlamaya Giriş
Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.
Önceki bölümde bir problemin çözümü ile ilgili teknikler sunmuştuk. Bir problemi bilgisayar ile çözmek için
geliştireceğimiz programın yazımında izleyeceğimiz adımlar:
i) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle.
ii) Problemin girdilerini, çıktılarını ve diğer kısıtlama ve gereksinimleri belirle ( bilgilerin giriş ve çıkış biçimlerinin
nasıl olacağına kadar)
iii) Problemin çözümünü veren algoritmayı yaz.
iv) Algoritmayı bir programla dili ile yaz.
v) Programın doğru çalışıp çalışmadığını test et. Bu testi değişik veriler (girdiler) için tekrarla.
Problem Çözme ve Algoritmalar
Algoritmalar
Belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.
İ.S. 9.yy da İranlı Musaoğlu Horzumlu Mehmet (Alharezmi adını araplar takmıştır) problemlerin çözümü için genel
kurallar oluşturdu. Algoritma Alharezmi'nin Latince okunuşu.
Her algoritma aşağıdaki kriterleri sağlamalıdır.
1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.
2. Çıktı: En azından bir değer üretilmeli.
3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar
içermemeli.
4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda
bitmeli.
5. Etkinlik: Her komut kişinin kalem ve kağıt ile
yürütebileceği kadar basit olmalıdır.
PROGRAM YAZMAK SÜRECİ
1. Problemin farkına varmak,
2. Problemi analiz etmek,
3. Çözüm yolları düşünmek,
4. İyi çözüm yolları seçip algoritma oluşturmak,
5. Akış diyagramı çizmek,
6. Uygun bir dilde kodlamak,
7. Programı test etmek,
8. Programı dağıtmak.
Problem Çözme
Problem çözmede, soruna hemen girişmek yerine, dikkatli ve
sistematik yaklaşım ilke olmalıdır. Problem iyice anlaşılmalı ve mümkün olduğu kadar küçük parçalara ayırılmaladır.
Descartes tarafından "Discourse on Method" isimli kitabında anlatılan problem çözme teknikleri;[2]
1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının.
2. Karşılaştığınız her güçlüğü mümkün olduğu kadar çok parçaya bölün.
3. Düzenli bir biçimde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara
doğru ilerleyiniz.
4. Olaya bakışınız çok genel, hazırladığınız ayrıntılı liste ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve
eksiksiz olsun.
PROGRAMIN KALİTESİNİ BELİRLEYEN ÖLÇÜTLER
1. Program işini doğru yapmalı
2. Mümkün olduğunca hızlı çalışmalı
3. Sistem kaynaklarını gereksiz yere harcamamalı
4. Program kodu okunabilir ve anlaşılabilir olmalı
5. Birbirinden bağımsız modüllerin minimum inter aktivitesinden oluşmalı
6. Bakım ve güncellenmesi kolay olmalı
GAMZE KARADAĞ
Readmee Dergisi | 01 / 2012 18
7. Hatalar lokal olmalı. ( Bir bölümde oluşacak bir hata tüm programı etkilememeli)
8. Verilen süre içinde tamamlanmalı
9. Gerekli yazlı dokümanlar hazırlanmış olmalı. (Kullanma kılavuzu, yardım dosyaları vs.)
ÖNEMLİ ALGORİTMA TÜRLERİ
1.Sözderastsal sayı üreteci,
2.Sıralama Algoritmaları,
3.Kütük İşlemleri,
4.Grafik Algoritmaları,
5.Arama Algoritmaları,
6.Birleştirme Algoritmaları,
7.Kripto Algoritmaları,
8.Dijital Sinyal İşleme Algoritmaları,
9.Kombinasyon Algoritmaları.
AKIŞ ŞEMALARI(DİYAGRAMLARI)
Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatıldığı
algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline "akış şemaları" veya FLOWCHART adı
verilir. Akış şemalarının algoritmadan farkı, adımların simgeler şeklinde kutular içine yazılmış olması ve adımlar
arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir. Programın saklanacak esas belgeleri olan akış şemalarının
hazırlanmasına, sorun çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve
programın kodlanmasının kolaylaştırılması gibi nedenlerle başvurulur. Uygulamada çoğunlukla, yazılacak programlar
için önce programın ana adımlarını (bölümlerini) gösteren genel bir bakış akış şeması hazırlanır. Daha sonra her adım
için ayrıntılı akış şemalarının çizimi yapılır.
Akış şemalarının hazırlanmasında aşağıda yer alan
simgeler kullanılır.
ALGORİTMA NEDİR? Gamze Karadağ
Readmee Dergisi | 01 / 2012 19
PROGRAMLAMA DİLLERİ
Bu bölümde programlama dillerinin kullanıldıkları alanları ve özelliklerini inceleyeceğiz. Programlama dilleri
uygulama alanlarına göre dörde ayrılır:
1. Bilimsel ve Mühendislik Alanında : Üniversitelerde ve bilimsel kuruluşlarda mühendislik veya matematik
hesapları için kullanılan bu dillere örnek; Pascal, C, C++, Java dilleridir.
2. Veritabanı Kullanımında : Genellikle Personel kayıtları, fabrika stok veya depo denetimi gibi veritabanı
gerektiren işlemlerde kullanılan diller; DBASE, SQL, FOXPRO, PARADOX gibi veritabanı dilleridir.
3. Sistem Programcılığında : İşletim sistemlerinin ve sistem programlarının yazılımında kullanılan dillere
örnek, C , C++, Java ve makina dilleridir.
4. Genel Amaçlı kullanım : Çeşitli konularda uygulama geliştirmek için kullanılan dillere örnek, C , C++, Java,
VB ve Pascal' ı verebiliriz.
Son yıllarda programlama dillerinde nesneye yönelik tasarımlar yapılmış ve bu dillerin çoğunun nesneye yönelik
programlama yapabilen uyarlamaları çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve
nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlayan ve programlama dillerinin geldiği son
aşamalardan birisidir. Bu konu oldukça kapsamlı olup bunun geniş açıklamasını burada yapmayacağım. OOP (Object
Oriented Programming) yani Nesneye Yönelik Programlama' nın kullanılmasıyla ve Visual programcılığın da
gelişmesi ile beraber ortaya oldukça güzel görünümlü ve kullanışlı programlar çıkmaya başladı. Bu bilgisayar
programlarına olan ilgiyi arttırdı ve bu konulardaki araştırmaları hızlandırdı. Sonuçta şu anda, pekçok dilin artık
nesneye yönelik olan ve visual özellikler içeren sürümleri kullanılmakta ve tercih edilmektedir.Örneğin: C++, Visual
C++, C++ Builder, Delphi, Java...
İnternet' in de yaygınlaşmasıyla programlama dillerine yeni özellikler eklendi ve internet'te kullanılabilecek nitelikte
görsel özellikli diller çıkarıldı. Örneğin HTML, kullanıcının dikkatini çeken renkli ve hareketli arabirimiyle her geçen
gün yeni ekler ile gelişmektedir. JavaScript ve VBScript iki script dili olarak HTML'ye getirdiği ek özelliklerle çokça
kullanılır oldu. Ve asp ile veri tabanını aktif kullanıma sunma, aktif sayfalar hazırlama olanağı elde edildi.
Görüldüğü gibi özellikle internet'in gelişmesi ile birlikte programlama dillerinin yapılacak işe veya kullanılacak
platforma göre değişik özellikler gösteren uyarlamaları çıktı. Bu durumda web teknolojisini izleyen ve internet
üzerinde yazılım geliştirmek isteyen bir programcının javascript ,vbscript ,java ,HTML gibi dilleri bilmesi ve bu
konularda kendini geliştirmesi gerekir. Uygulama programlarına ,ticari programlara, veya işletim sistemlerinin
kullanımına yönelik yazılım geliştirmek isteyen programcıların da C++ ,Java ,Delphi gibi son zamanların en popüler
dilleri üzerinde çalışması, bunları öğrenmesi gerekir.
Internet programcılığı, esnek mimari, OOP gibi konularda söylenmesi gereken önemli bir nokta da Java'nın
programlama dünyasına getirdiği önemli bir özelliktir. Java nın çıkması ile atılan önemli bir adım da platform'dan
yani işletim sisteminden bağımsız olarak çalışan, her sistemde çalışabilen, programların yazılabilmesidir. İleriye
yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının, kablosuz cihazların, cep telefonlarının sıklıkla
kullanılacağı ve artık PC lerin döneminin kapanmaya başladığı düşünülürse birçok cihazda çalışabilecek programların
yazılmasının önemi anlaşılabilir. Java son yıllarda programlama dünyasına gelmiş en iyi programlama aracıdır ve yeni
çıkacak programlama dillleri de Java'nın birçok özelliğinden esinlenmektedir.
Şimdi programlama dillerine özet bir bakış yapalım;
C Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile
adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem
yazmaktan bir oyun yazmaya veya printer kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde
kullanım alanı çok geniş bir dildir.
C++ Nesneye yönelik programlama yapabilen diller arasındadır. C'nin saydığımız tüm özelliklerine ek olarak
güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridir
ABDULLAH AZARKAN
Readmee Dergisi | 01 / 2012 20
C# Nesneye dayalıdır(OOP). C++ ın ve Java'nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya
internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak microsoft'un java
teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve microsoft'un bu konulardaki (internet uygulamaları)
yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#'ı öğrenmeleri
zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır.
Java Nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı ve visual özellikleri ve
sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili hemen hemen her
alanda kullanılabilen esnek ve güçlü bir dildir.
VB.NET Nesneye dayalı bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına
bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem
artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB
programcılarının VB.NET'e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır.
VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir.
Delphi Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin çok zor olmayışı ve
üniversitelerde pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği
bir dildir.Visual programlama özelliği taşır.
Pascal Pascal Yapısal bir dildir, C 'ye benzerlik gösterir. Öğrenilmesinin zor olmayışı ve bilgisyar eğitimi veren okullarda
okutulan bir ders olması sebebiyle kullanım alanı genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.
VisualBasic Basic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin
arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok
kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekl projelerde
tercih edilen bir programlama aracıdır. Yoğun olarak kullanılmaktadır
Programlama dillerinin hepsini incelemeye imkan olmadığından çok kullanılan bir kısım dilden bahsettim. Her dilin
kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla
çalışmanızdır.
Yıllara
Göre
Şampiyonluk :
PROGRAMLAMA DİLLERİ Abdullah Azarkan
Readmee Dergisi | 01 / 2012 21
-SON-
Readmee Dergisi 12 / 2011
© Readmee Dergisi 2009 — 2012. Her hakkı saklıdır.
Ayın Web Siteleri
Beğendiğiniz web sitelerini, readmee okurlarıyla paylaşmak istiyorsanız, adreslerini [email protected] adresine e-posta göndererek sitelerin bu sayfada yer almasını sağlayabilirsiniz.
Readmee Dergisi | 07 / 2011 24
-SON-
Readmee Dergisi 12 / 2011
© Readmee Dergisi 2009 — 2012. Her hakkı saklıdır.