+ Cevap Yaz
Toplam 7 sayfadan 3. sayfa
İlkİlk 1 2 3 4 5 6 7 En SonEn Son
62 sonuçtan 21 ile 30 arası gösteriliyor

Konu: C dilinden sonra hangi dil?

  1. #21
    Üye
    Üyelik Tarihi
    11/2009
    Mesaj
    204

    Alıntı _Onk@_, mesajından alıntı: Mesajı Gör
    [konu_dışı]Merak ettim Kutalmış Bey, sistem programcısıyım olduğunuzu söylediniz fakat tam olarak hangi dalında çalışıyorsunuz? Ben de sistem programcısı olmaya çalışıyorum da[/konu_dışı]
    Benim ilgi alanım işletim sistemi tasarımı ve programlaması, tabi ki bu konuda uzman olduğumu söylemeyeceğim. Ancak daha çok bilinen alanı aygıt sürücüsü tasarımı ve programlaması alanıdır.
    Bu alanda da çok iyi bir kaç tanıdığım var, eğer korumalı mod, işletim sisteminin temelleri, dosya sistemi gibi konulara yabancıysanız öncelikle bloğumdaki konulara bir göz atın (http://kutalmis.wordpress.com/) Ayrıca C ve Sistem programcıları derneğinin CsdOs ile ilgili dökümanları işinize yarayabilir.

    Muhakkak uğraşıyorsun da bugüne kadar birşey yaptın mı diye bir soru aklına gelir, birçok boot programdan sonra, 32 bit korumalı modda çalışan zaman paylaşımlı bir kernel yazdım ancak bu ilk denemem olduğu için bir çok alanda gelişime müsait değil, şuanda blogdaki yazılarla eşzamanlı olarak çok daha iyi bir kernel kodluyorum ve yayınlayacağım.

    Diğer alana gelecek olursak, aygıt sürücü yazımı ve kernel mod programlama konusunda önerebileceğim çok değerli iki isim var, bu alana ilgi duyuyorsanız onların blogunu da inceleyin.
    Emre Tınaztepe : http://zararliyazilim.wordpress.com/
    İbrahim Akgül : http://kernelturk.blogspot.com/

  2. #22
    Ziraat Mühendisi _Onk@_ Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    09/2008
    Yer
    Ankara
    Mesaj
    691

    Açıkçası geleceği CISC mimarisinde değil RISC mimarisi, 3G ve Cloud Computing'de görüyorum. Daha basit mimari:
    -Daha az üretim maaliyeti,
    -Daha az işletim maaliyeti,
    -Erişilebilir fiyatta donanımlar,
    -Daha hızlı ve uygun yazılım çözümleri anlamına geliyor. Hepsini toplarsak "daha çevreci ve bilgiye daha ucuz ulaştıran teknoloji" demek. Bu sistemdeki en büyük sorun güvenlik ve uzun süre de böyle kalacak. Özellikle "yan kanallar" hakkındaki Bilim ve Teknik Dergisi'nde makale olarak yayınlandıktan sonra dehşete düşmemek elde değil.

    Bu konularda ,özellikle RISC mimarisi, bildiğiniz kapsamlı kaynak var mı?

  3. #23
    ftpyt
    misafir

    Alıntı KUTALMIS, mesajından alıntı: Mesajı Gör
    Kaan hocanın deyimiyle C# dilinin kuralları C++ dilinden 20 kat daha azdır


    Önce c den başlanması gerektiğini söyleyenler de bu işi bildiğini iddia eden kişiler genellikle.Bununla birlikte bildiğim kadarıyla üniversitedeki programlama eğitimide c,c++ olarak gidiyor ve bu eğitim sonucunda öğrenciler java ve c# a yöneliyorlar.c olsun c++ olsun bu gibi dillerin incelikleri fazla,ancak c den başlanması gerektiğini söyleyen kişilerin savundukları benim anladığım kadarıyla mantığın ve söz diziminin oturtulmasına yönelik bir tavsiye.Kaan Aslan'ın videosunu 2 defa büyük bir heyecanla baştan sonra izledim,özetle şunu söylüyor: c# ve java ürüne yönelen diller ve sizin c ve c++ ile bilmeniz/yapmanız gereken şeyleri size hazır olarak sunuyor.Böylece sizin ürüne odaklanmanızı sağlıyor.Ama burada c ile başlanmaz veya direk olarak c# veya java ile başlayın gibi bir cümlesini duymadım.Java veya c# dillerini kullanan kişilere baktığımızda genelde c dili konusunda bilgi sahibi olan kişiler.
    Bisiklete binmesini bilmeyen bir insanın direk olarak motorsiklet kullanmaya çalışması mümkün,ama önce bisiklete binmeye çalışması daha mantıklı değil mi?Kişi dengeyi sağlamayı öğrenip biraz tecrübe kazandıktan sonra matorsiklet kullanabilir.
    Ama şu da var ki,bazı java kitapları sıfırdan ele almış,hatta neredeyse c kitapları kadar basit olarak anlatmış,olaya bu çerçeveden baktığımızda işte tam burada c veya c++ dilleri ile başlanmasına gerek var mı sorusu akla geliyor tabi.

    Alıntı acehreli, mesajından alıntı: Mesajı Gör
    Not: Umarım başka C++ programcıları da deneyimlerini yazarlar. Başkalarının görüşlerini çok merak ediyorum. Örneğin bu forumun müdavimlerinden shurzan var... Kendisi C++ ile çok başarılı bir program geliştirdi:

    http://www.shurzan.com/

    Umarım o da bize C++ deneyimlerini ve görüşlerini anlatır.
    Ali hocam belittiğiniz arkadaş,2006 yılında düşüncelerini bildirmiş,

    (Borland C++ Builder ?)http://forum.ceviz.net/c-c/29236-borland-c-builder-2.html#post216122

    Ayrıca aynı sayfadaki bir başka arkadaş farklı bir görüşte:

    (Borland C++ Builder ?)http://forum.ceviz.net/c-c/29236-borland-c-builder-2.html#post217184


    Alıntı KUTALMIS, mesajından alıntı: Mesajı Gör
    Bu yüzden C# öğrenmek için önce C öğrenin demek, keklik avına çıkmak için bordo bereli eğitimi alın demek gibidir.



    İlginç bir benzetme Vaktiniz varsa eğer niçin böyle dediğinizi açıklar mısınız?Bu konu hakkında konuşmak için c ve c# bilmek gerekiyor,yoksa sağlıklı bir analiz olmayabilir diye düşünüyorum.

    İlginiz için teşekkürler

  4. #24
    Üye
    Üyelik Tarihi
    11/2009
    Mesaj
    204

    Kaan hoca o video da açıkça C nin çok daha zor bir programlama dili olduğunu ve insanların C öğrenmesi zor olduğu için C# Java gibi dillerin yaratıldığını söylüyor.
    Sense hala C# öğrenmek için önce C öğrenmekten bahsediyorsun.

    Sözdizimi olarak elbette hepsi C den türetilmiştir ancak sonuçta C# dilinin sözdizimini C# ile birlikte öğrenmek varken araya C yi sokmak oldukça gereksiz. Yani C zor olduğu için C# yaratılmış ve birileri çıkıp C# öğrenmeden önce C öğren diyor. E o zaman C# dili neden yaratıldı.
    Sonuçta C# ile yapılabilecek herşey C ile de yapılabilir, zira windowsun kendisi de C ile yazılmış.

    Okullardaki C eğitimine gelirsek, kaan hocanın bu konuyla ilgili bir videosu da var. Hatta sana tavsiyem tüm röportajı izlemen hatta istanbulda oturuyorsan mecidiyeköydeki derneği ziyaret etmen.

    İlgili video : http://www.ceturk.com/programlama/ka...endiriyor.html

    Tüm videolar: http://www.ceturk.com/kategori/ceturk-tv


    Ben açıkçası söyleyebileceğim herşeyi söyledim, eğer amacın uygulama programcısı olmak ise C yi bir köşeye bırak ve C# a başla. Sistem programcısı olacaksan ya da alt seviyeli programlamadan hoşlanıyorsan C ye başla, şunu da belirteyim, assembly dilini bilmeyen bir insan C dilini ve mantığını %100 kavrayamaz.

    Son olarak şunu söyleyim. Gerçekten C yi bir kaç haftada öğrenebileceğini düşünüyorsan öğrendim dediğin anda yazabileceğin en iyi programı yaz ve burada paylaş. Ondan sonra neyi öğrendiğine birlikte karar verelim.

    Seni temin ederim C biliyorum diyen kişilerin %99 u sadece C kullanarak pencereli bir hesap makinası bile yazamaz. if - for - printf- scanf kullanarak yüzlerce program yazılabilir ancak emin ol bu C değildir. Bu yüzden bu işin uzmanları C öğrenmek için 5 yıl gerekir dediklerinde boş konuştuklarını düşünme.

  5. #25
    Ali Çehreli
    Üyelik Tarihi
    10/2002
    Mesaj
    2,881

    C öğrenmeye gerek olmadığı konusunda KUTALMIS'a katılıyorum. C bilgisi arka planda neler olup bittiğini anlamada yardımcı olur; ama gerekli olmadığı gibi, zarar da getirebilir.

    Ama "Sonuçta C# ile yapılabilecek herşey C ile de yapılabilir" sözü doğru olsa da sonunu "... eziyetle yapılabilir" diye düzeltmekte yarar var.

    Benim için kurucuları, bozucuları, ve kopyalayıcıları olmadığı için C artık bir eziyet. :/ Bu işlemleri her seferinde elle yapmak bilgisayarın mantığına da uymuyor: Elimin altında bilgisayar varken neden ben yapıyorum?

    Aynı şekilde C'de her işlevin dönüş değerinin elle yapılması da bir eziyet (exception'ları arıyorum). O yüzden bizim C kodumuzda her işlev çağrısı iki satır oluyor; ikincisi, işlevin dönüş değerini denetleyen ve sorunluysa işlevden çıkartan bir makro...

    Ayrıca güzelce yazılmış dizi, bağlı liste, ve eşleme tabloları da var; ama onları kullanmak da bir eziyet.

    Neyse, konu dağılmasın: C# için C öğrenmeye gerek yok, ama bilinmesi yararlıdır.

    Ali

  6. #26
    Okan Akyüz okanakyuz Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    03/2009
    Mesaj
    493

    kutalmış. kernel ile uğraşmayı seven biri olarak şunu da belirtmek isterim şayet minix devrinde iseniz c güzel ve hoştur ama c++ ve beş on inline satır kütüphane yazarakta kernel mümkün. osdev.org'de pascal ile yazılan kerneller bile bulabilirsiniz (daa çok inline ile) Bu nedenle bir miktar assambly bilgisi de gerekecek kanaatindeyim.

    C++ öğrenmek için C bilgisi de lazım C# için bilemem bilmek istemediğim bir dil. Java için gerek yok C bilgisine onu söyleyebilirim. C++da da hazır sıfıra bölme, null gibi exceptionlar olmaması da yine bizi bize bırakabiliyor ama try catch mekanizması C++da yeter de artar çoğu iş için.

    Ben C# önermeyen biriyim bunun ardında microsoft gıcıklıklarım yatıyor.

  7. #27
    Üye
    Üyelik Tarihi
    11/2009
    Mesaj
    204

    Alıntı okanakyuz, mesajından alıntı: Mesajı Gör
    kutalmış. kernel ile uğraşmayı seven biri olarak şunu da belirtmek isterim şayet minix devrinde iseniz c güzel ve hoştur ama c++ ve beş on inline satır kütüphane yazarakta kernel mümkün. osdev.org'de pascal ile yazılan kerneller bile bulabilirsiniz (daa çok inline ile) Bu nedenle bir miktar assambly bilgisi de gerekecek kanaatindeyim.

    C++ öğrenmek için C bilgisi de lazım C# için bilemem bilmek istemediğim bir dil. Java için gerek yok C bilgisine onu söyleyebilirim. C++da da hazır sıfıra bölme, null gibi exceptionlar olmaması da yine bizi bize bırakabiliyor ama try catch mekanizması C++da yeter de artar çoğu iş için.

    Ben C# önermeyen biriyim bunun ardında microsoft gıcıklıklarım yatıyor.
    Daha önceki yazılarda da belirttim hem C dilini tamamen kavramak için, hem de sistem programlama bilgisi için assembly dilini öğrenmek şarttır.

    Ben inline assembly kullanmıyorum, çünkü yazdığım kerneli gcc ve nasm kullanarak derliyor, ld ile bağlıyorum. Bu durumda inline assmebly kodlarını intel sözdizimine göre değil AT&T sözdimine göre yazmam gerekiyor, önceleri bu pek sorun olmuyordu ancak artık assembly kodlarını nasm ile fonksiyon şeklinde yazarak C den çağırıyorum.

    Pascal konusuna gelirsek, elbette pascal ile de kernel yazılabilir ancak C dilinde yazılan kod çok daha kısa olma eğilimindedir ve C daha doğal ve güçlü bir dil olduğundan gerçek işletim sistemi yazımında %100 oranla tercih edilir.

    C++, sistem programcılarına değil uygulama programcılarına kolaylıklar sağlamaktadır, son standartlarıyla birlikte C++ daki yenilikler programcıya birçok kısıtlamalar getirmekte.
    Muhakkak bu kısıtlar uygulama programcısının hatalarını azaltmaya yöneliktir ancak C nin esnekliğine büyük oranda zarar verdiğinden sistem programcıları C++ ı pek sevmez.

    Ben bugüne kadar Türkçe dökümante edilmiş, aygıt sürücülerinden dosya sistemine kadar herşeyi olan bir Türk kerneli görmedim. Bu yüzden çalışıyorum zaten yoksa onu geliştirmeye çalışırdım. Bir de bazı arkadaşlar dos gibi olsun ama benim olsun kafasında, yani hazır bios interruptlari ile ayıtlara erişip, fat 16 dosya sistemini yazıp kendilerince sistem yaratmak istemekteler.
    Ben ise 32 bit, korumalı modu sonuna kadar kullanan, süreçleri zaman paylaşımlı çalıştıran, dosya sistemi bulunan çok daha gelişmiş bir kernel yazıyorum.

    Bu arada konudan baya uzaklaştık, yönetici arkadaşlardan özür dilerim.

  8. #28
    Yaşar İsmail Aktaş shurzan Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2005
    Yer
    İstabul
    Mesaj
    131

    Merhaba C Ailem .

    Ne zamandır foruma giremiyordum, başladığım zaman zamanda ara verdiğim Shurzanop 2.0 projemi bitirmeye çalışmaktayım kusur bakmayın.

    Biz programcılar ilklerde, hangi programlama dilini öğrenmeliyiz sorusu ile çok bocalama yaşandığını biliriz. Hatta başladıktan bir süre sonra üstesinden gelemeyeceğimiz zor iş diye düşündüğümüz olmuştur.

    Size bir anımı yazayım;
    ----- @ ----
    C dilinde düşe kalka bir yerlere kadar gelmiştim kontrol yapıları, fonksiyonlar vs. ancak, bağlı liste konusuna gelince çakıldım, hiç bir şey anlamamıştım, anlamayınca da anlamadığım yere farklı anlam yüklüyordum "hım.. belkide şundandır ya da şununla ilişkilidir..." öyle bozuldum ve sıkıldımki aynı sayfaları belki 20 kez tekrar tekrar okumuştum sonuç sıfır. Sonradan anladım ki pointer kavramını tam anlamamışım.

    Bıraktım, attım kitabı her şeyi, daha c dilinde temel bir konuyu kavrıyamamıştım kaldıki hedefimde C++ dilinde uzmanlaşmak vardı ve ulaşılmaz bir zirve gibiydi, ama kararlıydım iki ay ara verdim ta.. ki sckz(bazen de gül) adlı arkadaş anlamadığım yerlerdeki ayrıntıları bana MSN'den bana açıklayana kadar.
    ----- @ ----

    Bu benim ilerlememe ivme kazandırmıştı, C++ 'a geçişim hiç zor olmamıştı ama hala çok eksiklerim vardı ta.. ki Ali hocayı tanıyıncaya kadar. Ali hoca benim gelişmemde çok katkısı olan değerli bir hocadır. Bir çok konuda bilgisini bizlerle paylaştı, hala da paylaşıyor. Her türkiyeye gelişinde de toplantılar yapardı umarın gelecek yaz gene buluşuruz.

    DupliFind Projemin isim babasıdır, Projenin bir çok aşamadınsa çok katkıları oldu İngilizce dil desteğini Ali hoca hazırladı. Sağ olsun beni hiç yanlız bırakmadı.
    Kendsine Çok teşekkür ederim.

    C++ Yazılım dilinin özelliklerine değinmeden bunları yazmamdaki amaç, bir zamanlar benim yaşadığım bocalama dönemini sende görüyorum. O yüzdendirki tavsiyem kararlı olmalı ve hedefine ulaşmak için zaman ve emek sarf etmekten kaçınmaman. Hangi dilde uzamanlaşmak istersen iste ama kararlı olmalı sabır göstermeli ve mutlaka deneyim elde etmelisin. Bol bol kod örnekleri ile çalışmalısın ve örnekleri mutlka kendin yazmalısın. kopyala/yapıştır ile test etme çünkü yazarken hata yapacaksın ve hatalarını kendin göreceksin.

    Daha sonraları mutlaka bir proje çalışması yapmalısın. Benim DupliFind projemde Win32 çalışması gerekti, programın satışı için web sitesi, web sayfam ile programın iletişimi için PHP+MySql çalışması gerekti. Hatta ihtiyaç oldu bazı Delphi kod örnekleri buldum ve en azından projemde kullanabilmem için C++ söz dizimine çevirecek kadar Delphi okumayı öğrenmem gerekti.(Delphi C ailesinden değil hatta dil bile olduğu seylenemez, geliştirme ortamı)

    Şunu unutma "ben C++ dilini öğrendim başkası gerekmez" diyemiyeceksin ihtiyaçlara göre Win32, .NET, PHP belki javaScript hatta C# ihtiyacın olacak ama mutlaka birinde uzmanlaş.
    D dilinide unutmamak gerek, bu konuda Ali Hocanın ciddi katkıları var istersen birde d dilini incele.
    C++ uzmanın bir avantjı da şunu görüyorum C ailesi çok geniş ve bir diğerine geçişte zorlanılmıyor.

    Umarım sende güzel bir proje ile deneyim kazanır bizlerle paylaşırsın.

    Başarılar
    Yaşar İsmail.
    Bilgi,insanı kuşkudan
    iyilik, acı çekmekten
    kararlı olmak da korkudan kurtarır. (Konfüçyus)

  9. #29
    Ali Çehreli
    Üyelik Tarihi
    10/2002
    Mesaj
    2,881

    Yaşar, peki öğrenme konusunda bir sıra önerebilir misin? Örneğin sence C++ öğrenmek için C'den başlamak yararlı mıydı? En azından 'pointer'ı orada öğrenmişsin. C++'da da olabilir miydi acaba?

    Alıntı shurzan, mesajından alıntı: Mesajı Gör
    D dilinide unutmamak gerek, bu konuda Ali Hocanın ciddi katkıları var istersen birde d dilini incele
    Uyarı: D dili henüz bir "yatırım". Çok iyi bir dil ama daha tutmuş değil. Andrei Alexandrescu'nun kitabı çıktıktan sonra *belki* yayılacak. Şimdilik D2'nin gelişimini izliyoruz; yakında kitabın yazımıyla eş zamanlı olarak onun da değişimi tamamlanacak.

    Ali

    Ayrıca not: Her zaman söylediğim gibi: DupliFind'a bir iki tercüme dışında bir katkım yok, Yaşar kibarlık yapıyor.

  10. #30
    Yaşar İsmail Aktaş shurzan Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2005
    Yer
    İstabul
    Mesaj
    131

    Hayır hocam, sizde bilirsiniz ki C++'ı öğrenmek için C dilinin öğerinilmesi zorunlu değil, doğrudan C++ ile başlanabilir ama C bilen biri için C++'ı öğrenmesi zor olmayacaktır bunu belirtmek istemiştim. Ayrıca C++, C söz dizimini ve kütüphanesini de zaten desteklemektedir.

    Pointer kavramını C'yi özgü değildir tüm dillerde de (en azından benim ilgilendiğim dillerde) pointer kavramı var C++'da da böyle ve yoğun bir şekilde kullanılır. İyikide kullanılıyormuş, dinamik bellek yönetimi doğrudan yazılımcıya bırakılmış. Bellekte olan nesnelerime pointer ile doğrudan erişmek ve yönetmek uzaman yazılımcın isteyeceği bir şey [kontrol bende]. Çalışma zamanı nesne yaratıp yok edebiliyorum, bellek bloğunu sisteme geri vermeden nesneyi yeniden yaratabiliyorum aynı adreste vs..

    Hep eleştirilen, yaratılan nesnenin yok edilmesi konusu bu da yazılımcıya bırakılmış yaratmasını biliyorsan güvenle yok etmesinide bileceksin. Bir işlem sırasında istisna fırlatılırsa ayrılmış bellek bloğu ne olacak? Ali hoca da buna değinmiş istisnayı oluştuğu blokta yakalıyacak ve yöneteceksin örneğin fonksiyon tanımında fonksiyon başlığının sonuna bir "throw()" ifadesi istisnayı fonksiyon dışına fırlatmaz o fonksiyon içinde istisnayı yakalayıp sistem çökmeden bellek ile ilgili işlemi yapabileceksin, nesneyi yok etmek gibi veya bellek bloğunu sisteme geri kazandırmak gibi.

    İstisna yönetimi konusunda proje çalışmasında çok deneyim kazandım, n.. kadar döngü içinde n kadar istisna oluşabiliyordu, döngü içinde istisnayı yakalayıp sistem çökmeden programın çalışmasını sağlıyabilyordum.
    Uzman arkadaşlar bilir bu çok önemli bir konu yazdığınız program kullanıcın çok önemli bir işini hallediyor olabilir, kullanıcının çalışma anında bir isitisna fırlatılırsa sistem çökmemeli hatta sonraki adımlarına da devam edebilmeli kullanıcı yarı yolda bırakılmamalı.

    C++'ın eksikleri elbette var ++0 sürümünde bunu ele almışlar eğer gerçekten uygulanabilirse eksiklerinin bir çoğu giderilmiş olacak. C++ en önemli özelliği sadece nesne yönelimli bir dil olması değil STL'i unutmamak gerek gerçekten çok güçlü, map, vector, list, set sınıfları yazılımcının elini çok güçlendiriyor. Borland Sınıf nesneleri bile eline su dökemez. Bizzat ben bunu yaşadım.

    Ayrıca not: Hayır Ali hoca kibarlık değil kimse sana, zamana zaman elekemler yapılarak bin küsür satırlık dil dosyasını destek olsun diye çevirmez ayrıca saçımı başımı yolduğum zaman hemen yanımda seni bulabiliyordum, aylarca borlandın sınıf nesneleri ile uğraşıp üstesinden gelemediğim konuyu map nesnesi ile nasıl maping yapılacağını anlatmasaydın hala uğraşıyor olacaktım. Bir modülün algoritmasını belki 10 kerek yeniden yazmıştım vs.
    Bilgi,insanı kuşkudan
    iyilik, acı çekmekten
    kararlı olmak da korkudan kurtarır. (Konfüçyus)

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz