Olmaz olsun Serway Fizik

Yarın fizik sınavım var. Saatler süren ders çalışabilme çabalarımın ardından artık umudum tükendi, sinirlerim bozuldu, başım ağrıdı, gözüm karardı, midem bulandı… Ve ben bıraktım çalışmaya çalışma denemelerimi…

İşin kötü yanı tüm bu saydığım illetlerin tek sebebi var. O da 17 TL bayılıp aldığım serway fizik kitabının ikinci cildi. Serway Fizik 2… Anlatımı bu kadar karışık, bu kadar alakasız, bu kadar iğrenç, kolay bir şeyi bu kadar zorlaştırabilen bir kitap daha var mıdır yeryüzünde bilemiyorum. Kitaptaki örnekleri çözmeye çalışayım dedim önce. Soruyu yazıyor, şeklini bir sonraki sayfaya koyuyor. Çözümün de yarısı sorunun olduğu sayfada yarısı şeklin olduğu diğer sayfada tabi. Anlayana kadar 25-30 kere çeviriyorsunuz sayfayı bir o yana bir bu yana (anlayabilirseniz). Yetmiyor, samçasapan formüllerini sadece verdiği numaralarla anıyor anlatım boyunca. 5 bölüm önceden kanıtını yaptığı bir formülü kullanacağı zaman tekrar yazma zahmeti yerine “formül 25.11” gibi aptal bir ibare koyuyor parantezin içine. Haydiiiiii. İşin yoksa çevir sayfaları geri o formül neydi diye. Hadi onu anladık diyelim. Çok muhterem yazarımız “Önceden anlattık kardeşim her şeyi ezberleseydin” mantığında yazdı kitabı. Öyle yerler geliyor ki bir cümle yazıyor, parantezin içine de ekliyor “formül 28.5 ve 28.6’daki gerekçelerden bu böyledir.” Sorun şu ki o konu nerden baksan 2-3 bölüm ilerde. İşlememişsin. Anlatmamışsın. Konu içinde bahsetmemişsin. Ne olduğu hakkında en ufak bir fikrin yok. Ama çok sevgili yazarımız 3 bölüm ilerde yaptığı ispatlardan ötürü içinde bulunduğumuz konuyu anlamamızı bekliyor.

Kitabı parçalayıp atmamak için bıraktım çalışmayı. Fizik 1’i geçmeyi başarmıştım şans eseri de olsa ama Fizik 2 şimdiden kaldı gibi. Kalsın… Elbet veririz ilerleyen zamanların birinde. Eninde sonunda bulurum insan gibi anlatan bir kitap ondan öğrenirim. Ya da ne bileyim bir arkadaş çıkıp anlatır hayrına falan. Bu kitaptan zerre ümidim yok ama. Suçu da kendimde buluyorum bu arada. Birinci cilt de aynı böyleydi her şey başka bir yerde sayfaları bir o yana bir bu yana çevir babam çevir hiçbirşey anlamıyorsun… Ne diye hala gidip ikinci kitabı da alıyorsam…

Neyse olan oldu artık. Herşeye rağmen bu kitaba ihtiyacı olan arkadaş çıkarsa bana ulaşsın satmayı düşünüyorum. İki cilt kitap ikisi de tertemiz bir nokta dahi koyulmamış sıfırdan farksız (şaka değil) Ucuza da bırakacağım söz. Neyse… Burada bırakayım artık daha ileri gitmeden. Son olarak “Olmaz olsun bu Serway!” diyorum.

Esen kalın efendim… (kalabilirseniz)

İlk C Programımız

Her kitapta ilk program olarak ekrana “Merhaba Dünya” diye yazdırılır adettendir. Ben de adeti bozmayıp aynı programı anlatmaya çalışacağım sizlere. Mini programımızın kodları aşağıdaki gibi olacak. Bir göz aşinalığı olması açısından tamamını (noktası virgülü dahil) bir okuyun. Sonra da açıklamalarımıza devam edelim.

#include<stdio.h>
int main(void)
{
	printf("Selamun aleykum");
	return 0;
}

İşte bu C ile yazdığımız ilk programımız olacak. Derleyip çalıştırdığınızda komut isteminde siyah bir ekran açılacak ve “Selamun aleykum” yazacak. (Derlemek de nedir? diye soranlar yazımın devamını sabırla okusun)

Şimdi bu programı satır satır inceleyip hangi kodun ne iş yaptığını açıklamaya çalışalım.

**#include**: Burada Standart Input/Output header dosyasını programımıza eklemiş oluyoruz. Böylece bu başlık dosyasında tanımlanmış komutları kullanabileceğiz (printf bunlardan birisidir)

int main(void): Bu kısım her programda yer almak zorundadır. Her C programında bir ana fonksiyon bulunmak zorundadır. O da burada gördüğümüz main fonksiyonunun ta kendisidir. En baştaki “int” ve parantez içindeki “void” ifadelerinin ne olduğuna şimdilik kafa yormayalım. İlerleyen yazılarımda onların da ne ie yaradıklarından bahsedeceğim. Şimdilik standart olarak böyle olduklarını varsayalım.

main’den sonra gelen { işareti ana fonksiyonun başladığını belirtir ve ana fonksiyonda çalışacak tüm komutlar başla ve bitir anlamlarını taşıyan “{” ve “}” işaretleri arasında yer alır.

printf(“Selamun aleykum”); printf ekrana birşeyler yazmak istediğimizde kullanacağımız komut. Burada gördüğümüz şekilde kullanılır ve noktalı virgül ile sona ermek zorundadır (sadece bu değil yazdığımız her komuttan sonra noktalı virgül kullanmak zorundayız). Ayrıca programlarımızın hiçbirinde Türkçe karakter kullanmayacağız bunu da burada söylemiş olayım.

return 0; Bu da ilerleyen derslerde üstünde duracağım bir konu. Şimdilik standart olarak her programda yer alan bir komut olarak varsayalım. Ama şunu söyleyeyim programımız hiçbir iş yapmadığı için return 0; komutunu hiçbirşeye (yani sıfıra) geri dönme olarak yorumlayabiliriz. (Ne, nereye, nasıl, niye döner ya da dönmek zorunda mıdır? İlerleyen yazılarımda)

Her satırdan yeteri kadar bahsettik sanırım. Programımıza yazdığımız kodların bilgisayar tarafından ne şekilde algılanacağını özetleyecek olursak: (sırasına göre)

  1. Standart giriş çıkış başlık dosyasını kullanacağım haberin olsun
  2. Ana fonksiyonum int tipinde olacak (takılmayın şimdilik)
  3. Başladım (“{”)
  4. Ekrana “Selamun aleykum” yaz
  5. Hiçbirşeye dönmene gerek yok
  6. Ve bitirdim (“}”)

İşte her satırda programımıza bunları yapmasını söyledik ve böylece anlaşıp istediğimizi yaptırdık.

Tamam ama bütün bunları nereye yazacağım ben ne şekilde çalıştıracağım? Tabi ki konunun en önemli kısımlarından birisi de bu. Piyasada bir sürü ücretsiz derleyici (compiler) var. Ben Dev-C++ adlı programı kullanmanızı öneriyorum. Hem küçük boyutlu, hem pratik, hem ücretsiz, hem zahmetsizce yazdıklarınızı çalıştırabiliyorsunuz. İndirip yüklemek için buraya tıklayabilirsiniz.

Dev-C++ programımızı çalıştırdıktan sonra Dosya > Yeni > Kaynak Dosyası (File > New > Source File) yolunu takip ederek kendimize kodlarımızı yazabileceğimiz, kalbimiz kadar temiz bir sayfa açıyoruz. Buraya yukarıdaki şekilde kodlarımızı yazıyoruz. Ve Çalıştır > Derle & Çalıştır (Execute > Compile & Run) yolunu izleyerek önce dosyamızı kaydediyor. Sonra derliyor, sonra da çalıştırıyoruz.

Bi çok arkadaş “İyi ama hemen kapanıyor hiçbirşey göremiyorum” diyecektir. Bunun sebebi hatalı kodlama yapmanız değildir. Windows’un dos uygulamalarına olan gıcığıdır :D Eğer programınızı daha sağlıklı görüntülemek istiyorsanız (yani daha göremeden kaybolmasın) Komut İstemi ile programınıza ulaşıp çalıştırabilirsiniz.

İlk programımızı böylece yazıp başarıyla çalıştırmış olduk. Çok güzel anlattığım için kendimi, çok güzel anladığın için de seni tebrik ediyorum ;)

Konuyla alakalı bir sonraki yazımda printf ve scanf komutları üzerinde duracağım. Değişken tanımlama, bu değişkenlere değer atama gibi basit şeyleri de aradan çıkaracağım.

Beni takip etmeye devam et. Görüşmek dileğiyle…

Üşüyorum!!! :(

Bir coşku var içimde bu gün kıpır kıpır
Uzak çok uzak bir yerleri özlüyorum
Gözlerim parke parke taş duvarlarda
Açılıyor hayal pencerelerim
Hafif bir rüzgar gibi süzülüyorum
Kekik kokulu koyaklardan aşarak
Güvercinler ülkesinde dolaşıyor
Bir çeşme başı arıyorum
Yarpuzlar arasında kendimi bırakıp
Mis gibi nane kokuları arasında
Ruhumu dinlemek istiyorum
Zikre dalmış her şey
Güne gülümserken papatyalar
Dualar gibi yükselir ümitlerim
Güneşle kol kola kırlarda koşarak
Siz peygamber çiçekleri toplarken
Ben çeşme başında uzanmak istiyorum
Huzur dolu içimde
Ben sonsuzluğu düşünüyorum
Ey sonsuzluğun sahibi, sana ulaşmak istiyorum
Durun kapanmayın pencerelerim
Güneşimi kapatmayın
Beton çok soğuk, üşüyorum..

Allah rahmet eylesin. Mekanı cennet olsun :(

Çukurova IEEE Kariyer Günleri

17 ve 18 Martta düzenlenen Çukurova IEEE (ay tripıl i şeklinde okunuyor) Kariyer Günleri etkinliğine katıldım. Eğlenceli ve bilgi dolu oturumlara katıldım ama anladım ki anlatılan şeylerin hepsini anlayabilmek için daha küçük(!) sayılırım :)

Etkinlik Otomotiv oturumuyla başladı ve okulumuz makine mühendisliği bölüm başkanı Prof. Dr. Kadir Aydın bir saatlik bir sunum yaptı. İlk kez bu yıl öğrenci alan otomotiv mühendisliği bölümünden öğrenci var mıydı bilmiyorum ama benim bile moralim bozuldu. Otomotiv Mühendisliği bundan 2-3 yıl önce gelecek vadeden bir meslekmiş ama artık kriz sebebiyle öyle değilmiş hocamız öyle anlattı. Aklımda tutamadığım bir sürü sayısal veriyle dünyadaki krizin ve Türk otomotiv sektörünün durumu gözlerimiz önüne serildiğinde şok oldum desem yeridir. Otomotiv sektörünün bu kadar kötü olduğunu bende bilmiyordum ve bu bölümü tercih edip de yerleşemeyen arkadaşlarım için gerçek anlamda sevindim…

Sonrasında Anel Grup’tan gelen bir beyefendi Enerji oturumunda enerji üretimi ve alternatif enerji kaynakları konusunda bir sunum yaptı. Kendisi de elektrik mühendisiymiş yer yer teknik şeylerden bahsettiği ve inanılmaz derecede hızlı konuştuğu için çok bir şey anlamadım :) Ama artık rüzgar santrallerinin ekolojik dengeye zarar verdiğini ve büyük santrallerin denize kurulması gerektiğini, ayrıca güneş enerjisi kullanarak elektrik üreten santrallerin hayata geçirilmesi gerektiğini biliyorum. Çatımıza koyacağımız bir güneş paneliyle elektrik üretimi masraflarımızdan kurtulup hatta bunu rahatça şebekeye satabilirmişiz de. Ama çok pahalı olduğunu da ekledi tabi güneş sistemlerinin. Azını anlayabilmiş olsam da bilgi dolu faydalı bir oturumdu, beğendim yani :)

Sonrasında CEO’lar oturumu başladı ve Nortel Netaş genel müdürü Müjdat Altay ve TEMSA genel müdürü Ahmet Özşahin bizlerle birlikte oldu. Çok güzel ve keyifli bir oturumdu hatta en keyiflisi buydu diyebilirim şiir gibi geçti. Elektrik-Elektronik Mühendisliği bölüm hocalarından Prof. Dr. Hamit Serbest ile CEO’lar zaten önceden okul arkadaşıymış o yüzden bu üçlü gayet samimi bir şekilde sohbet havasında kariyerleri hakkında çeşitli şeylerden bahsetti. İkisi de çok çalışmışlar ve ikisinin de genel müdür olmak gibi bir hedefleri yokmuş. Müjdat Altay şunu demişti hayatının 30 yılını genel müdür olabilmek için çalışarak geçirip 3-5 yıl bu pozisyonda olmak pek de uygun olmaz :) Düşününce haklı da tabi ki. Kendisi her zaman iyi bir mühendis olmak için çalışmış ve karşılığında da bu pozisyona gelebilmiş.

Oturum sonunda bu iki yöneticiye şu soru soruldu. İş ilanlarında filan üniversiteden mezun olmuş, filan tecrübe edinmiş şeklinde ilanlar görüyoruz. Biz bu tecrübeyi nerde kazanacağız? İkisi de genel müdür olduğunda iş ilanları konusunda iki karar almış. Birincisi özellikle şu üniversiteden mezun olunmuş şeklinde bir ibare olmayacak, ikincisi de tecrübe aranmayacak. Bunu söyledikten sonra ikisine de helal olsun dedim, tebrik ettim ve mutlu oldum :)

O gün son olarak da radyo programcısı Muzo ile bir sohbete katıldık ve Kariyer Günleri etkinliğinin ilk gününü tamamlamış olduk. Kendisi hakkında çok bilgim olmadığı için fazla bir şey yazmayacağım ama sempatik, hoş bir adamdı. Beğendim :)

18 Mart sabahı yine okul yolunu tuttum Telekomünikasyon oturumuna katılmak amacıyla. Ama gitmesem de olurmuş çok sıkıcıydı. Daha çok Türk Telekom reklamı şeklinde geçen sunumu Türk Telekom Adana Müdür Yardımcısı beyefendi yaptı. Daha doğrusu okudu :) Slayttakilere ek yapmadan okuyarak bize aktarmayı tercih etmiş. Ben çok sıkıldım ve genel kanı da bu şekildeydi anladığım kadarıyla. O yüzden burayı pas geçiyorum. Oturum sonunda bir arkadaşımız neden dünyanın en yavaş ve en pahalı internetini biz kullanıyoruz şeklinde bir soru sordu. Sayın yetkilinin bu cevabını samimi buldum işte. Bence de dedi fiyatlar yüksek düşmesini istiyorum ancak buna karar verebilecek bir konumda değilim :) Bu da bir şey en azından Telekom çalışanları da fahiş fiyatların farkında.

Telekomünikasyon da bittikten sonra sonunda beni en çok ilgilendiren oturuma gelebildik. Bilişim oturumu konuğu Sun Microsystems Teknik Satış Yöneticisi Ercihan Toprakcı’nın sunumuna başlaması beni gerçekten mutlu etti. Neden diyeceksiniz? Bu ana kadar oturumların çoğunluğunda elektrik elektronik mühendisliği öğrencilerine yönelik ifadeler yer alıyordu. (Örneğin enerji oturumunda elektrik mühendisliğinde okuyanlar bilir… şeklinde davam eden cümleler) Ancak Sayın Ercihan Toprakcı çıktı ve “İlk kez böyle bir organizasyona katılıyorum. Zannediyorum çoğunluk bilgisayar mühendisliği öğrencisi.” dedi. Hoşuma gitti çünkü birileri bilgisayar mühendisliği diye bir bölüm olduğundan haberdar :) Neyse. Sunumu genel olarak Sun Microsystems ürünleri ve açık kaynaklı yazılımlar üzerine oldu. Sun Microsystems’in bütün yazılımları açık kaynaklıymış, kalan bir iki tanesinin de kaynağını açacaklarmış. Tam aklıma “parayı nerden kazanıyorsunuz?” sorusu gelmişti ki cevap kendiliğinden geliverdi. Yazılımı ücretsiz sunuyorlarmış ve oluşan donanım ihtiyacını satarak para kazanıyorlarmış :) Güzel bir strateji esasında önce ücretsiz yazılımı ver, gereken donanımı nasılsa alacaklar o veya bu şekilde. Darısı Microsoft yazılımlarına diyelim :D

Ve son olarak Teknoparklar oturumuna katıldım. Faydalanabildiğimi söylemek güç. Sunum yapan bayan (Mersin Teknopark Müdürüydü sanırım) o kadar çok şeyden bahsetti ki… Ve ilk kez duyduğum bütün bunlardan “eminim biliyorsunuz” diyerek açıklama yapmadan geçmesi boşuna katıldığımı düşündürdü bana. Ama yine de güzeldi. Teknoparkların üniversite ve sanayiyi bir araya getiren ve ar-ge çalışmaları sayesinde yeni yeni yenilikler ortaya koyan yerler olduğunu öğrendim. Bizim de varmış Çukurova Teknoparkımız ve çalışan şirket de hocalarımızın kurduğu bir şirketmiş. Araştırıp geliştiriyorlar yani hepsine kolay gelsin :)

Geri kalan oturumlara Matematik dersi denk geldiği için girmedim. Ama bu kadarı da yeterli oldu. Etkinliğin amaçlarından biri “Kariyer bilinci oluşturmak” şeklindeydi. Oluştu mu derseniz şunu fark ettim o bilinç bende zaten var :) Netaş genel müdürünün de dediği gibi: Ben iyi bir mühendis olmak istiyorum. Kariyerim de zaten bu olacak. Falan yerde müdür olacağım diye yok yere kendimi sıkıntıya sokmayı düşünmüyorum :)

Kariyer kelimesini bu kadar çok kullandıktan sonra aklıma şu geliyor: “Çocuk da yaparım, kariyer de” :D Hakkımızda hayırlısı diyelim efenim… Eğer yukarıda bahsettiğim sunumlarda kim ne anlattı diye daha detaylı bilgi almak isterseniz www.cuieee.org adresini ziyaret edip dosyalara ulaşabilirsiniz. Hepinize kariyerli günler…

Programlayamadıklarımızdan mısınız?

C ile bu sene tanıştım. Daha adam akıllı bir şey bilmiyor olsam da öğrendiklerimi yazıp sizlerle de paylaşayım dedim. İlerleyen zamanlarda zaten kendimi aşacağımdan emin olduğum için bu kayıtlar hem geriye dönüp bakacaklarım olur hem de belki siz değerli okuyucularıma birer fikir olur diye düşünüyorum.

Hoşuma giden bir anlatım var “C++ for dummies” adlı kitapta. Birebir çeviri yapmam mümkün olmayacağı için yazarın aklımda kalan samimi satırlarını aşağıda özetliyorum:

Bilgisayarlar çok hızlı cihazlar olmasına rağmen kendi kendilerine karar verebilecek, işlem yapabilecek kadar zeki değildirler. Tam olarak programcının kendisine söylediği şeyi yaparlar –ne eksik ne fazla- Ancak sadece 0 ve 1 sayılarından anlayan bu cihazla anlaşmak oldukça zor olacaktır. İnsanların bu 0 ve 1 sayılarına bakıp bir şeyler anlaması ne kadar imkansız ise bilgisayarların herhangi bir insan dilini anlaması da o kadar imkansızdır. Bu yüzden bilgisayarlar ve insanlar birbirlerini kırmamak için arada bir yerde buluşmakta anlaşmış ve programlama dillerini oluşturmuşlardır.

Bu programlama dilleri sayesinde bu zamana kadar kullanmış olduğumuz bu cihazlara dediklerimizi de yaptırabileceğiz. Ufak tefek şeylerle başlayacağımız kesin zira biz de oldukça uzun bir süre sadece algoritmalarla (bir problemin çözümüne ulaşacağımız adımlar bütünü olarak tanımlamıştı Fırat hocamız) uğraştık ve sonunda iki sayıyı toplayan çıkaran ya da başka işlemler yapan programlar yazmayı başarabildik. Yavaş yavaş öğreniyorum. Öğrendiklerimi de kendi sayfamdan (burası yani hasangok.com) yayınlayacağım. Umuyorum ki yazdıklarımın hem bana hem de Google’dan bulup gelen arkadaşlarıma az çok faydası olacaktır :)

İlk yazımı burada bırakayım. C ile ilgili bir sonraki yazım her sitede her kitapta olan ve anlamsız bir şekilde ekrana “Merhaba Dünya” yazan saçma programı sizlere aktarmaktan ibaret olacak :D

#include<stdio.h>
int main(void)
{
	printf("Merhaba Dunya");
	return 0;
}

Sağlıcakla kalın efenim. Diğer yazılarımda görüşmek dileğiyle…