C++

Kısa Bir Özet…

Merhabalar, kısa süredir yazamıyorum öncelikli sebeplerim vardı .:S Önceki yazımın birinde Koç Sistem de staj yaptığımı yazmıştım . 18 ağustos ta başlayıp 12 eylülde bitti . Ama bitmekle kalmadı .:) Nasıl mı ? durun anlatayım.

Düzenli olarak yaptığım işler klasik bilgisayar tamiri , gelen binbir türlü  çağrıya karşılık vermek , sorunlara çözüm bulmak . Bilgi İşlem departmanında yapabileceğimin en iyisi bu oluyor . :)

Yıllık cirosuyla ,Türkiye nin birinci sırasında bulunan Koç Holding sahip olduğu onca şeye :) bir de savunma sanayine katkım olsun diyerek Türkiye nin ciddi anlamda sımulasyon yazılım pazarını olusturan Kaletron A.Ş. yi bünyesine kattı.Türk Silahlı Kuvvetleri’nin ihtiyacı olan uçuş ve tank gibi savaş araçlarının simulasyonunu yapacak. Böylece Türk silahlı Kuvvetleri bir helikopter pilotu için yaptığı eğitim harcamalarından saatte 1.500 dolar tasarruf edebilecek. …(buradan bilgi sahibi olabilirsiniz) Bunları neden söylüyorum onu da açıklayayım . Tabi ben rutin işlerimle uğraşırken Kaletronu da tanıma fırsatı yakaladım. ;) Sadece C++ dilinin konuşulduğu ve “gerçek anlamda” yazılımların yapıldığı bir yer benim elimden nasıl kaçabilir :) Tabi ki orada çalışma şansı yakaladım . (Şimdilik proje stajyeri olarak. Ciddi anlamda performans ile işe girme şansım yüksek) . Pazartesi ve salı günleri sabahtan akşama kadar orada çalışıyorum. Yapılan işler hakkında ciddi anlamda fikir sahibi oluyorum . Çalışan mühendisleri takip ediyorum . Hiç öğrenmediğim kadar yeni şeyler öğreniyorum . c++ ın inceliklerini öğreniyorum ki istediğim şey de en başından beri buydu .;) . Sanırım bundan sonra blogumda c ve c++ ile ilgili yazılar yayınlayacak gibiyim . Tabi ki vaktim oldukça . Java ya gelince ha C++ ha Java bence çok da ayrımcılığa gerek yok .:) Bunları da tartışacak vaktimiz olur umarım . Herkese kolay gelsin .

Tags: , , ,

Perşembe, Ekim 16th, 2008 1 yıllık plan, C++ 1 Yorum

Java ya Giris

Uzun zamandır acmak istediğim bir baslık olarak Java yı, kısa dersler halinde blog um da anlatmak istiyordum. Şöyle ki, bir iki proje yüzünden ertemek zorunda kaldım . Tabi ki projelerin C# . net ile gelistirdiğimizi belirtmek isterim . Java ya karşı duydugum ilgi C#.net ile kıyaslanamaz . Bunun altında yatan birçok sebep var elbette . İşte onları burada yayınlamak heralde iyi bir ders olur gibi:) (bu yazı için).C#.net ve Java platformları arasında ki farklar,benzerlikler ve özellikleri konusunda kafanıza takılan o kadar çok soru olmustur ki  az çok tahmin edebiliyorum . Bircok sitede bu farklılar hakkında makaleler okumussunuzdur . Bu farklılıkları su an anlatmyı düsünmüyorum eger bir C# programcısıysanız Java yı ögrenerek birbirleri arasındaki müthis benzerliğin yanında bir o kadar farklılıkları da göreceksiniz. Amacım bu yazılar la “Java Dünyasını”  birlikte kesfetmek.

Peki Nedir Bu Java ?

Sun firmasının geliştirdiği platform bağımsız programlama dili. Platform bağımsız ne demek ? Java ile her türlü işletim sisteminde calısabilmek demektir. İşte burada durup C# .net den farklı olarak bir “+” özelliğini ögreniyoruz . Yani sadece Windows tabanlı işletim sisteminde çalısmak C# a özgü bir harekettir . Microsoft un geliştirdiği C# sadece Windows işletim sisteminde çalısabilir demektir . Birçok işletim sistemi vardır . Sıradan bir bilgisayar kullanıcısısanız  UNIX,Linux, Apple Mac ve IBM in geliştirdiği birçok işletim sisteminin de var oldugunu bilmeniz gerek . İste bagımsız çalısan Java platformu butun işletim sistemlerine uyumludur .

İyi bir C++ developer ın  çocuk oyuncağı diyeceği kadar basittir . Çünkü Java C++ ı model alarak tasarlandığı için , bu C++ bilenler için cocuk oyuncagıdır .Nesne Yönelimi (Object Oriented) özelliklerinin birçogunu C++ dan almıstır ki üzerinde durmamız gereken konuya da gelmiş bulunuyoruz. Nedir Nesne Yönelimli ? .

Nesne Yönelimli Programlama (object oriented programing) ?

Sanırım en çok üzerinde durmamız gereken konulardan birisi de Nesne Yönelimli programlamadır . Java dediğimiz de aklımıza  Nesneye dayalı programlama gelebilir ama “nesne yönelimli”  dediğimizde aklımıza sadece Java gelmesi doğru olmaz . Nesne Yönelimi, karmaşık ve uzun vadeli yazılımlara ve onların tasarımlarına çözüm bulmak amaçlı bir sistem olarak bizim işimizi kolaylaştırmaktadır. Günlük hayatta işler ne kadar zorlaşmıssa bu zorluklar bir o kadar üretilmek istenen yazılımlara da yansımıştır . Yazılan herhangi bir fonksiyonun tekrar kullanılamaması programcılar için büyük bir meseledir heralde. İşte bu koşullar altında nesne yonelim mantığı kabaca ,herhangi bir proje için kullanılan fonksiyonu baska bir proje için de kullanma esnekliğini bize sunuyor. Standart C nin bir uzvu olan ve OOP mantığına bir geçis yapan C++ ile nesne yönelimine geçis yapabiliriz . Java da amaç ise tamamen OOP mantığına göre kurulmuştur . Bir problem belirlenir sınıflar ve nesneler tanımlanır . İlk aşama olarak amacımız burada problemi çözmek değildir , onu anlamaktır .Daha sonra sınıfların özellikleri belirlenir .Aralarındaki ilişkiler kurulur . Bu şekilde tasarımm yapıldıktan sonra . OOP mantığına uygun diller yardımıyla ki bu Java ve C# olabilir , kodlamaya başlanabilir . Burada aslında bir iki cümle ile yazılım mühendisliğinin temel mantığını anlatmaya çalısmış da olduk . Nesne yönelim mantığıyla ilgili daha ayrıntılı olarak baska bir başlik altında daha sonra tartısmak da fayda var aslında.

Javanın diğer özelliklerinden biri de çok kanallı(multithread) olmasıdır . Bunu şöyle açıklayabilirim. Birden fazla process i eş zamanlı olarak yapabilme özelliğine sahiptir .

to be continued…

H.Can Çobanoglu.

Tags: , , , ,

Pazar, Ağustos 17th, 2008 Java 2 Yorum

Ilk Ciddi Projemiz

3. dönem derslerimiz arasinda  c++ , bize  ciddi anlamda programcılık ve algoritma mantığını kavratmaya başlamıştı. Kafamız da olusturduğumuz birçok problemlerin algoritmik tasarımlarını c++ sayesinde gerçekleştirmemiz  artık bizim icin daha kolay hale gelebiliyordu. Aldiğımız projeler de bize yeni yeni kapılar açmakta oldugunu soyleyebilirim. Arkadaşım Burak Amasyalı ile bu işi ciddi hale getirebileceğimizin farkındaydık. Kendime bu konuda duydugum güveni Burak a borçlu olduğumu çekinmeden söylemem gerekiyor sanırım. :) kucuk buyuk her turlu projenin ne ile yapılacagını bılmeden ,sadece nasıl yapılacagını bilmek yetiyormus onu ogrendım. (tabiki burak sayesınde ) yani şoyle söyleyım : ilk aldığımız ciddi projede c# ile ilgili bir fikrimiz yoktu fakat nasıl yapılacağını biliyorduk. Bize düsen sadece c# . NET konusun da bir iki haftalık çalısma kalıyordu.(projeyi C# ile yapmamızın bir takım sebepleri vardı tabi) Ayrıca veritabanı bilgisi de şart tı . Burak veri tabanını pek biliyor sayılmazdı. Ama bu projenın her asamasında  veri tabanı sql cumlecikleri ve veri tabanı güvenliği ile ilgili ciddi anlamda bilgi sahibi oldu. Ben pek hızlı ilerlemiyordum . Bunun sebebi ise 1 bucuk aylık suremız olmasına ragmen burak bu işi 2  gunde yapmayı kafasına koymustu. (bunu kızarak soylemıyorum bu tamamen Burak ın kodlamaya duydugu askla ilgili:))İşte bu sebeptendir ki ben geri kaldım.

Ciddi anlam da aldigimiz bir diger proje de yazışmalı satranç sitesi oldu www.salon-tr.com
artık Burak kendini iyice aşmış ,kendimize verdiğimiz 2 haftalık tatil süresince yazısmalı satrancı hayata geçirmeyi basarmisti.(onu tebrik ediyorum). Ben de, kendim de calisacak gücü bulmak icin tatil yapmaya calısırken..:S Bana düsen ise veri tabanı kısmı olacak . Arkadasim Eren Başar ise Html tasarım ile ilgilenmek için pacaları çoktan sıvamıstı.

Bunlarin dışında irili ufaklı web siteleri de 1 yıllık plan dahilinde bitirilmesi gereken projelerimiz arasında  Bu süre icin de paylasacagim cok sey olacaktır. ! yıllık süre ne demek?. Neden 1 yıl ? bunları da diger yazılarımda paylasacağım.

Tags: , ,

Cumartesi, Ağustos 2nd, 2008 1 yıllık plan 2 Yorum