Şimdi Ara

C#,C++ ve OOP

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
7
Cevap
0
Favori
1.040
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar yakın bir arkadaşımla girdiğimiz fikir alışverişini buraya dökmek ve sizlerinde fikirlerini almak istedim.Şu an "PROGRAMCI" deyimi birçok insan tarafından çok farklı bir şekilde değerlendirilmekte.Arkadaşımın fikri bir programlama dili ile uğraşıyorsak onun A'dan Z'ye tüm yönlerini bilmemizin gerekmediği sadece birkaç konu üzerinde yoğunlaşarak o dil hakkında "Ben bu dili biliyorum" diyebileğimizi savunuyor.Üstelik bu konular da,
    en başta OOP olmakla beraber C#'da birçok önemli ve temel olduğuna inandığım konudur.Üstelik arkadaşım C#, C++'ın OOP ile alakası olmadığını ve OOP'nin başka bir konu olduğunu vurguluyor.
    Ben ise OOP = C# olduğunu ve onun gerek duymadığı birçok konunun YALANIP YUTULMASI ve ondan sonra "Ben C# Programcısıyım" diyebileceğini savunuyorum.Bu dediğim konular ise en basitleri;

    OOP - Kalıtım, Çok biçimlilik... (Bunları uygulamak için C#'da arayüzler, virtual methodlar, devralınmış sınıflar..)
    Delegeler, Thread'ler, Asenkron Programlama Modeli, Jenerikler, Koleksiyonlar, numaralandırıcılar, iteratörler, P/Invoke, Reflection, Unsafe kodlar, indexleyiciler vb..

    Bu yukarıda saydıklarım C# en basit ama en temel konularıdır.Daha buna birçok şey ekleyebilirim ama şimdilik bu kadarını yazdım.Arkadaşım bu konuların "Ben C# Programcısıyım" demek için bilmesinin gerekmediğini, sadece onlara ihtiyaç duyduğunda bakıp, öğrenip uygulayabileceğini savunuyor.Üstelik yukarıda saydığım ve sayacağım birçok konuyu bilmediği halde 'C# biliyorum ve bildiklerim bana şimdilik yetiyor, gerektiğinde öğrenir yapabilirim diyor."İş hayatında da bu şekilde yol alabileceğini savunuyor.

    Benim fikirlerime gelince...
    Ben yukarıda saydığım ve istenirse daha da çok sayacağım C# konularını "Ben C# Programcısıyım" diyen birinin yalayıp yutmasını ve kendisini sürekli geliştirmeye devam etmesini, C# ile alakalı kendisine anında söylenecek bir şeyi oturup çatır çatır yazabilmesini, deminde değidiğim gibi OOP = C# olduğunu ve benim savunduğum mantıkta olmayan bir insanın iş bulabilsede orada tutunamıyacağını savunuyorum.Yani ben PROGRAMCIYIM diyebilmek için C#'ın ve NET teknolojisinin inciğini cıncığını bilmesi gerektiğini söylüyorum.
    Bu konuları ve daha saymadıklarımı bilmeyen bir insanın buton programcısı olduğunu savunuyor ve bu işin sadece if ve else ile olamıyacağını savunuyorum.

    Bu konuda fikirlerinizi bekliyoruz arkadaşlar.(Olay bir tartışma değil sadece fikir alışverişidir..)



    < Bu mesaj bu kişi tarafından değiştirildi PanDa -- 30 Eylül 2007; 14:50:02 >







  • C# aynı basic,ruby,python gibi bir programlama dilidir.OOP ise programlama dillerini kendine araç eden ,işinizi bazen kolaylaştıran bir yaklaşımdır.
    C# öğrenmek için OOP öğrenmenize gerek yok.OOP bilmiyorsanız sadece dilin OOP için kullanılan kısımlarını kullanmazsınız olur biter
    Bu aynı C bilipte C++ bilmemek gibi.

    C# da uzmansam OOPdede uzmanım derseniz zor bir projede aslında OOP yi az bildiğinizi fark edersiniz.
    Gerçekten OOP başlı başına dikkat edilmesi ve anlanılması gereken bir konu (Hele virtual la başlayan kısımlar :) )
    Ama şu var windowsta program yazan iyi bir C# programcısı olmak için .NET'i yalayıp yutmak gerekir.
  • Eyvallah dostum fikirlerin için.Tabii ki OOP'yi tam anlamıyla öğrenmesi gerekmez amaa C# %100 nesne tabanlı bir dil iken tutupta C# başka OOP başka demek bana yalnış geliyor.Bu arkadaşlada bunu konuştuk öneğin sadece
    OOP'nin 3 temel ve önemli yönünü ele alın;

    KALITIM, SARMALAMA ve ÇOK BİÇİMLİLİK...

    Örneğin ben bir projede yönetici olsam, ve OOP öğrenmeye gerek görmeyen kişilerle çalışsam ve çok basit, öğrenci listesi, öğretmen listesi ve veli listesi sınıfları tasarlamalarını istesem;

    public StudentClass
    {
    string ad;
    public string AD
    {
    get { return ad; }
    set { ad = value; }
    }

    string soyad;
    public string SOYAD
    {
    get { return SOYAD; }
    set { SOYAD = value; }
    }
    }

    public AgentClass
    {
    string ad;
    public string AD
    {
    get { return ad; }
    set { ad = value; }
    }

    string soyad;
    public string SOYAD
    {
    get { return SOYAD; }
    set { SOYAD = value; }
    }
    string kimin;
    public string kimin
    {
    get { return kimin; }
    set { kimin = value; }
    }
    }

    gibi bişey yazan adamı ben kovarım
    Ama şöyle bir şey yazsa;

    public class ListBase
    {
    string ad;
    public string AD
    {
    get { return ad; }
    set { ad = value; }
    }

    string soyad;
    public string SOYAD
    {
    get { return SOYAD; }
    set { SOYAD = value; }
    }
    }


    public class StudentClass : ListBase
    {
    }

    public class AgentClass : ListBase
    {
    string kimin;
    public string kimin
    {
    get { return kimin; }
    set { kimin = value; }
    }
    }

    en azından bunun için KALITIMI bilmesi gerek.Hem daha önce saydığım şeyler ve şimdiki örnek iş verildiğinde
    araştırır öğrenirim mantığında olmaz.Yazmaya başlarken bunları bilip öyle başlamak lazım.Yani düşünsenize bir şirket için SİMÜLASYON programı yazıyorsunuz, adamlar size sadece bunu yazın demiş, sizde oturup NET ve OOP öğrenmezsiniz, çünkü karşınıza ne çıkacağını bilmezsiniz çünkü hiç biri çıkmazNe iteratör, ne delege nede OOP siz sadece yazarsınız ama kodunuz bir ...ka benzemez.Ama bilerek yazdığını düşünsenize neyi nasıl yaptığını bilerek...




  • quote:

    Orjinalden alıntı: sse

    C# aynı basic,ruby,python gibi bir programlama dilidir.OOP ise programlama dillerini kendine araç eden ,işinizi bazen kolaylaştıran bir yaklaşımdır.
    C# öğrenmek için OOP öğrenmenize gerek yok.OOP bilmiyorsanız sadece dilin OOP için kullanılan kısımlarını kullanmazsınız olur biter
    Bu aynı C bilipte C++ bilmemek gibi.

    C# da uzmansam OOPdede uzmanım derseniz zor bir projede aslında OOP yi az bildiğinizi fark edersiniz.
    Gerçekten OOP başlı başına dikkat edilmesi ve anlanılması gereken bir konu (Hele virtual la başlayan kısımlar :) )
    Ama şu var windowsta program yazan iyi bir C# programcısı olmak için .NET'i yalayıp yutmak gerekir.

    Bencede budur yani OOP bilmeyipte c# kullanılır sonuçta OOP bir araçtır dili güçlendiren bir araç.. Lafı uzatmayım sse dediklerine aynen katılıyorum sonuçta insanlar bunların okulunu okuyor OOP bilg mühendisliğinde ayrı bir ders olarak görülüyor buda c#=OOP olsaydı aynı ders altında olurdu değilmi ... yani bir insan bir kitabı bir makaleyi okuduğu zaman anlıycak hale geldiyse iyi hale gelmiştir bundan sonrası gerek çalışcağ işe göre gerek keyfine göre ilerletir bir yuolda ,sadece 1 dile gömülüp kaldıysa buda yalnıştır bir kaç programlama dilini mantığnı falan da bilmesi gerekir bir php bir asp bir HTML bir flash vb.. çeşitli dillerde en azından ufakta olsa şeyler yapıcak kadar bişeyler bilirse kendinisini geliştirmeside kolay olur ...



    < Bu mesaj bu kişi tarafından değiştirildi Dr_Hack -- 30 Eylül 2007; 19:57:23 >




  • Simülasyon programında her bişeyi sınıf yapmaya kalkarsan simülatör kolay kolay bitmez ve bittiğinde büyük ihtimal simülatör kağnı arabasına döner, seni işten atarlar Tabi kalıtımı seninde belirttiğin kadar bu dile merak saran zaten öyle yada böyle öğrenir.

    Dil OOP uyumlu diye kendini OOP yazma zorunda hissetmemelisin.Bir iş nasıl rahat ve hızlı olacaksa öyle yazılmalı.Kodun neye benzediğinide birçok kimse umursamaz.Umursayacak olan senden sonra gelenin kodu anlayabilmesi için dökümantasyon ister.Nadiren belli bir kalıpta kod istenir oda zaten büyük firmalarda işinde uzman proje yöneticilerin yönlendirmesi ile.Yoksa OOP ile olacak UMLsi çizilmeden olmaz diye inat edersen,çalıştığın proje internetde bolca okuduğum örneklerdeki gibi olduğu yerde aylarca sayabilir.

    Ben mühendis kökenli olduğum için iş en kolay ,en basit ve en hızlı nasıl oluyor ona bakarım.
    (http://forum.donanimhaber.com/m_16552412/tm.htm Bu fikrime bir örnek) Özetlersek iş basitde olsa ,zorda olsa çözüm olabildiğince kolay olsun bunun için kafa yormalı.



    < Bu mesaj bu kişi tarafından değiştirildi sse -- 30 Eylül 2007; 23:19:05 >




  • tabi ki bencede önemli olan işin sonuca ulaşması ve bitmesi yani programının istenilen sonucu vermesi ..
  • Merhabalar...
    OOP bir tekniktir c# ise bu tekniğe %100 uyumlu bir programlama dilidir.
    ama c# kullanmak için oop bilmenize gerek yoktur , oop bilmek kendi işinizi ve sizden sonra gelecelerin işini kolaylaştırır bu yönden oop tabiki çok güzel bir tekniktir ama kullanıp kullanmamak programcının elinde olan bişeydir. c# programcısı diye her programı oop tekniğine uygun yapacak diye bir şey yok bence...
    ben yaklaşık 2 senedir c# ile içli dışlıyım ama genede kendime ben c# programcısıyım diyemiyorum çünkü ben c# öğreniyorum henüz :)
    ama c# okur yazarımıyım evet, her kodun ne anlama geldiğini bilmemize gerek yok temel şeyleri öğrendikten sonra üstüne yeni şeyler koymak kolaydır yoksa haydii ben c# öğreniyom diyip onlarca kitap alıp bütün neseneler ne işe yarııyor diye öğrenmeye kalkmak zaman kaybından başka bişey değildir.
    c#'ın temelinde de zaten bir nesneyi kullanmak için onun nasıl yapıldığına hangi nesnelerle ilişki olduğuna bakmamıza gerek yok ne yaptığını bilmemiz onu kullanmamız için yeterlidir...
    son olarak:
    c# oop ile daha güzel buda bir gerçek :)




  • Yapay Zeka’dan İlgili Konular
    C programlama
    5 yıl önce açıldı
    c++ örnekleri
    19 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.