Uzun yıllardır Visual Basic ile uygulamalar hazırlıyorum. Bir süredir de C dilini merak etmeye başladım. Amacım 1.000.000+ adet veriyi işleyip sorgulayabilecek güçlü bir veritabanı uygulaması geliştirmek. Kullanacağım veritabanı sunucusu MS SQL Server olacak. Böyle bir uygulama için Visual C# sizce uygun mudur ? Yoksa Visual C++ mı önerirsiniz ?
Her iki dilin veri tabanı sorgulama hızları arasında ciddi farklar var mıdır ?
Her iki dilin de geleceği hakkında ne düşünüyorsunuz ?
Her iki dilin mevcut yaygınlığı hakkında ne düşünüyorsunuz ?
Her iki dilin gelecekteki yaygınlığı hakkında ne düşünüyorsunuz ?
Her iki dilin ticari uygulama geliştirme konusunda Türkiye piyasasındaki yeri hakkında ne düşünüyorsunuz ?
Arkadaşlar "elma ile armutu aynı kefeye koymayalım" veya "önemli olan algoritma, gerisi syntax bilgisi" gibi baştan savma cevap verecek arkadaşlar lütfen kendilerini yormasınlar..
Cevaplayacak arkadaşlara şimdiden teşekkür ederim.. Büyük bir sabırsızlıkla yorumlarınızı bekliyorum..
C# öneririm bu tarz işlemler icin ama senin sorudugun sorunun pek bir dil ile alakası yok yanılmıyorsam.
Önemli olan kullandıgın baglantı sınıfın, ado.net yeterince hızlı bildiğim kadarıyla. ve asıl önemli olan ise kullandıgın VTYS. sql server da yeterince hızlı zaten. Sorguları calistiracak VTYS oldugu icin hangi dili kullandıgın pek bir önem taşımıyor diye düşünüyorum ben.
Hangi dili daha ii biliyorsan onda yap bence
Cevap için teşekkür ederim,
İki dili de bilmiyorum, daha önce C dersi gördüm ancak okulda gösterilen C'den ne beklersiniz tabi :)
Geleceği olmayan bir dile yatırım yapmak istemiyorum.. Demek istediğim C#'tan pek emin olamıyorum.. C++ daha köklü ve daha sağlammış gibi geliyor.. C# ın imajı daha zayıf kafamda nedense..
Veritabanı projeleri yazacam diyorsan C#
Her iki dilin veri tabanı sorgulama hızları arasında ciddi farklar var mıdır? sorguyu yapacak olan veritabanı olduğu için, dilin bir önemi kalmıyor, ama sen tutup 1milyon kaydı dataset üzerinde atayım dersen, o zaman işler karışır, ha ben şayet sonuç olarak üretilen tabloyu, satır satır okuyacağım dersen, performans farklı ciddi boyutlarda olmaz.
Her iki dilin de geleceği hakkında ne düşünüyorsunuz ? c# ilk 5-10 yıl içinde tutmaz, neden? çünkü c# a geçen programcıların bir sürü derdi tasası var, kimi hızlı çalışmıyor diyor, kimi gerçektende platform bağımsızlığı yok bu sadece lafta diyor, kimi kaynak kodlarımı çalıyorlar diyor, aslında c# ın çıkması bence en çok sun firmasına yaradı, çünkü java, c# ın olması gerektiği şekli(tamam daha iyisini hedefliyor olabilirler), hal böyle olunca insanlar javaya yönelmeye başladılar, bir kısım programcıda c# üzerinde deneyim kazanarak(özellikle acemiler-yeni başlayanlar), c++ ya geçiş yaptı, bundan 5-6 sene sonra belki c# iyice oturur, insanlar onuda ele alırlar, ha c# hiç mi prim yapmıyor, yapıyor tabiki, sonuçta sadece kolay olsun ama ne kusuru olursa olsun mantığıyla hareket eden çok insan var, durumları itibariyle c++ gibi daha ağır bir dille uğraşmaları mümkün değil, dolayısıyla c# en mantıklı çözüm oluyor.
Her iki dilin mevcut yaygınlığı hakkında ne düşünüyorsunuz ? assembly, c, c++ gibi diller genellikle birinci dünya ülkelerinde yaygın, c#, vb, delphi, gibi diller ise genellikle 3. dünya ülkelerinde yaygın haldeler. sebebi basit, bugün amerikada bir ton oyun firması var, uçuk kaçık yazılım hazırlayan bir dolu şirket var, dolayısıyla asm/c/c++ gibi dilleri bilen kişilere ihtiyaç fazla, fakat türkiye gibi yazılım sektörü bir kaç tane otomasyon programından ibaret olan ülkelerde bu diller yaygın değil, delphi/vb/c# bu yada buna benzer diller yaygın, esasında şu an itibariyle bundan fazlasıda lazım değil aslında...
Her iki dilin gelecekteki yaygınlığı hakkında ne düşünüyorsunuz ? yaygınlık hususlarında bir önceki maddede söylediğim gibi olur fakat, windowsun artık bir tekel olmaktan çıkması linux, freebsd gibi başka işletim sistemlerininde yaygınlaşması, programlarda platform bağımsızlık problemini ortaya çıkarıyor, bu noktada patronlardan çalışanlara c# yada javaya yönelmeleri konusunda baskı artıyor, ki keza benimde duyduğum/tanıdığım veyahut gördüğüm ve bu tür baskılara maruz kalan programcı arkadaşlar var, ağlıyorlar ben javaya geçmem, c# istemem diye. bence bu problemin çözüm yolu wxwidgets yada fox gibi kütüphaneler, gelecekte c++ yı c# gibi basit ama problemli/zayıf dillerin karşısında ayakta tutacak olan şeyler bence bunlar, bu işe yaramazsa o zaman c++ sadece dev firmaların bodrum katlarında suratı değil insan 10 gündür ayna yüzü bile görmemiş, gündüzleri çalışıp gecede masasında pinekleyen programcıların beyninde kalacak ve bir daha yüzeye çıkmayacak/çıkamayacak, toptan ortadan kalkması mümkün değil ama belirli bir oranda terk edilecektir yada en azından terk edilmek mecburiyetinde kalınacaktır, tabi bunlar sadece varsayım, zaman nelere kadirdir bir Allah bilir.
Her iki dilin ticari uygulama geliştirme konusunda Türkiye piyasasındaki yeri hakkında ne düşünüyorsunuz ? hiç böyle bir araştırmam oladı fakat c# daha yaygındır yada c#/vb/delphi üçlüsü diyelim, bu bir ihtiyaç meselesidir, taleb olursa arz da olur.
yamyam_şerif ellerin dert görmesin
C# okadar kolay kolay silinmez piyasadan emin ol Arkasında microsoft olan bir proje herzaman prim yapar.
Bana biraz karamsar geldi yazın. Yani ne bilim amerikada ki programcılar C/C++ da ucmus adamlar olabilir, ama bunlar sadece büyük firmalarda, oyun firmalarında calişan programcılar, ordada her programcının üst düzey yazılım üretebileceğine inanmıyorum. Onlarında otomasyon sistemlerine veya şirketleri icin ne gerekiyorsa o alana yazılım üretecek programcıya ihtiyacları herzaman olacaktır. Bu acıgıda C#/Java/VB.NET bilenler dolduracaktır. C++ büyük ihtimalle herzaman varlıgını sürdürecektir ama C#/VB.NET zamanla gelişerek, değişerek varlıgını sürdürecektir bence.
Bence Hindistan 3.dünya ülkelerinden biri, ama adamlar süper programcılar yetiştiriyorlar. Yani aslında bu işi iyi yapmak icin dünyanın en teknolojik ülkesi olmayada pek gerek yok. Microsoft gecen sene Imagine Cup Üniversiteler arası yazılım yarışmasını Hindistan'da yaptı. Kullanılan platform .net. Projeler ayrıca mobil destekli olacaktı. Yani adamlar bu işe bukadar önem verip, gelişmesinde ve ögrenilmesinde gencleri baz alıyor.
Kısacas,ı Microsoft bir projeye destek veriyorsa öyle kolay kolay silinmez piyasadan.
Herkes C# ın özellikle web uygulamaları konusunda da oldukça ileri olduğunu söylüyor. Peki C++ web uygulamaları konusunda ne durumda ? Yani C++ ile veritabanı işlemleri içeren bir web uygulaması hazırlanamaz mı ?
İki dilin yapabilecekleri daha doğrusu yapamayacakları hakkında somut örnekler verebilir misiniz ?
C# ın kaynak kodları açıktır yani kodların içeriği görülebilir,Onun için kodlamaları hatasız ve karmaşık yapman lazım
visual basic biliyorsun anladığım kadarı ile benim bi projem var ara sıra sana soru soru sorabilirim demi
mesela ilk soru,
bir programa kullanıcının şifre ile giriş yapmaısnı naısl sağlarım.
ikincisi
kayıtları , Vb içinden access ile bağlantı kurrak yapıyorum programı. Kayıt tutma falan bana çok basit ve acayip geldi bu progamı 4 günde yazmıştım bi stok kontrol programı. Şimdi ise bir porojem var ve gene buna benzer bişi yapacağm ve veri tabaı ile bağlantısı iyi olsun sitiyorum.
Mesela kayıt butonuna basıldıında veri tabanına kayıt yaptıran kodlar(işte tüm alanalr dolmalı falan onlar da var komple o bölümü aldım. tam hatırlamıyorum aradan baya sene geçti sanırım veri tabanında önce en sona götürüp yazdırıp sonra başa götürüp kaydettiriyoruz sanırım. İşte bu kayıt işlemi başla türlü naısl olur.
Private Sub tamam_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Or Text11.Text = "" Then MsgBox ("Bütün Alanlara Değer Girmelisiniz") Else If (MsgBox("KAYIT YAPILSIN MI?", vbYesNo) = vbYes) Then Data1.Recordset.MoveLast End If If (MsgBox("KAYIT YAPILDI")) Then Data1.Recordset.MoveFirst If (MsgBox("BAŞKA KAYIT YAPILSIN MI?", vbYesNo) = vbYes) Then Data1.Recordset.AddNew End If End If End If End Sub
üçüncüsü,
mesela stok bilgileri girme menüsüne geldiğmizde hep textboxlar dolu geliyor bunların boş gelmesini nasıl sağlarız. şöyle bi durum oluyor stok bilgisi gireceğimiz menüde her bilgi galdiği için üzerinde değişiklik yapılabilmesi olası bu yüzden textboxların boş gelmesi şart.
Ben şöyle bişi yapmıştım, textboxları kitliyorum o sayfaya girerken sonra yanda bi buton koyup kilitli text boxları açın diyorum o buta basıldı mı bütün texboxlar boşalıp bilgi girişine hazır duruma geliyor. yani bu durumun böyle olmasını değilde sayfaya giridğimde texboxların boş bilgi girişine hazır gelmesini istiyorum
Ya çok çok çok özür dilierim senin topici , senin sorudğun soru dışında bi konu ile kirlettim ama anlayan birini bulduğum için hemen sorayım dedim istersen pm yolu ile cevap verebilirisin ister burayada yazabilirsin
Orjinalden alıntı: Yazılımcı Online
visual basic biliyorsun anladığım kadarı ile benim bi projem var ara sıra sana soru soru sorabilirim demi
mesela ilk soru,
bir programa kullanıcının şifre ile giriş yapmaısnı naısl sağlarım.
Kullanıcı adı ve şifrenin access veritabanında tutulduğunu varsayarsak basit bir kullanıcı girişi formu hazırlamalısın.
Kodlar aşağıdaki gibi olmalı;
data1.recordsource="select * from kullanicilar where kullaniciadi='" & text1.text & "' and sifre='" & text2.text & "'" data1.refresh if data1.recordset.recordcount>0 then form2.show else msgbox "Kullanıcı adı veya şifre yanlış" end if
Bu örnek tabi sırf mantığını anlatmak içindi.. ayrıntıları kendi başına halledebileceğini tahmin ediyorum.
ikincisi
kayıtları , Vb içinden access ile bağlantı kurrak yapıyorum programı. Kayıt tutma falan bana çok basit ve acayip geldi bu progamı 4 günde yazmıştım bi stok kontrol programı. Şimdi ise bir porojem var ve gene buna benzer bişi yapacağm ve veri tabaı ile bağlantısı iyi olsun sitiyorum.
Mesela kayıt butonuna basıldıında veri tabanına kayıt yaptıran kodlar(işte tüm alanalr dolmalı falan onlar da var komple o bölümü aldım. tam hatırlamıyorum aradan baya sene geçti sanırım veri tabanında önce en sona götürüp yazdırıp sonra başa götürüp kaydettiriyoruz sanırım. İşte bu kayıt işlemi başla türlü naısl olur.
Private Sub tamam_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Or Text11.Text = "" Then MsgBox ("Bütün Alanlara Değer Girmelisiniz") Else If (MsgBox("KAYIT YAPILSIN MI?", vbYesNo) = vbYes) Then Data1.Recordset.MoveLast End If If (MsgBox("KAYIT YAPILDI")) Then Data1.Recordset.MoveFirst If (MsgBox("BAŞKA KAYIT YAPILSIN MI?", vbYesNo) = vbYes) Then Data1.Recordset.AddNew End If End If End If End Sub
Burada kayıt sisteminin Ekle,Sil, Düzelt, Kaydet, İptal butonları ile çalıştığını ve text değişkenlerinin datasource değerlerini girmediğini farzediyorum;
senin_kodlarin 'Burada metin kutularının boş olup olmadığını kontrol ettirebilirsin data1.recordset.fields("adi")=text1.text data1.recordset.fields("soyadi")=text2.text vs. vs. data1.recordset.update -------------------------------------
böyle olmalı
üçüncüsü,
mesela stok bilgileri girme menüsüne geldiğmizde hep textboxlar dolu geliyor bunların boş gelmesini nasıl sağlarız. şöyle bi durum oluyor stok bilgisi gireceğimiz menüde her bilgi galdiği için üzerinde değişiklik yapılabilmesi olası bu yüzden textboxların boş gelmesi şart.
Ben şöyle bişi yapmıştım, textboxları kitliyorum o sayfaya girerken sonra yanda bi buton koyup kilitli text boxları açın diyorum o buta basıldı mı bütün texboxlar boşalıp bilgi girişine hazır duruma geliyor. yani bu durumun böyle olmasını değilde sayfaya giridğimde texboxların boş bilgi girişine hazır gelmesini istiyorum
Bunun için metin kutularının datasource özelliklerini boş bırakmalısın.(Yukarıda bahsettiğim gibi). Tabi bu durumda da kayıtlar arasında gezinirken metin kutuları otomatik dolmayacak, senin kodla doldurman gerekecek bunu da
Data1_Reposition olayı için kod yazarak yapmalısın;
Data1_Reposition(.......) text1.text=data1.recordset.fields("adi") text2.text=data1.recordset.fields("soyadi") vs. vs. ----------------------------
Ya çok çok çok özür dilierim senin topici , senin sorudğun soru dışında bi konu ile kirlettim ama anlayan birini bulduğum için hemen sorayım dedim istersen pm yolu ile cevap verebilirisin ister burayada yazabilirsin
Ne demek, yardımcı olmayı her zaman isterim..
quote:
Orjinalden alıntı: Habbit
C# ın kaynak kodları açıktır yani kodların içeriği görülebilir,Onun için kodlamaları hatasız ve karmaşık yapman lazım
Nasıl yani ? Kaynak kodu açık derken ? Masaüstü uygulamalar geliştirmek istiyorum, kaynak kodu açık mı olacak ?
quote:
Orjinalden alıntı: marion cobretti
quote:
ikincisi
kayıtları , Vb içinden access ile bağlantı kurrak yapıyorum programı. Kayıt tutma falan bana çok basit ve acayip geldi bu progamı 4 günde yazmıştım bi stok kontrol programı. Şimdi ise bir porojem var ve gene buna benzer bişi yapacağm ve veri tabaı ile bağlantısı iyi olsun sitiyorum.
Mesela kayıt butonuna basıldıında veri tabanına kayıt yaptıran kodlar(işte tüm alanalr dolmalı falan onlar da var komple o bölümü aldım. tam hatırlamıyorum aradan baya sene geçti sanırım veri tabanında önce en sona götürüp yazdırıp sonra başa götürüp kaydettiriyoruz sanırım. İşte bu kayıt işlemi başla türlü naısl olur.
Private Sub tamam_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Or Text11.Text = "" Then MsgBox ("Bütün Alanlara Değer Girmelisiniz") Else If (MsgBox("KAYIT YAPILSIN MI?", vbYesNo) = vbYes) Then Data1.Recordset.MoveLast End If If (MsgBox("KAYIT YAPILDI")) Then Data1.Recordset.MoveFirst If (MsgBox("BAŞKA KAYIT YAPILSIN MI?", vbYesNo) = vbYes) Then Data1.Recordset.AddNew End If End If End If End Sub
Burada kayıt sisteminin Ekle,Sil, Düzelt, Kaydet, İptal butonları ile çalıştığını ve text değişkenlerinin datasource değerlerini girmediğini farzediyorum;
senin_kodlarin 'Burada metin kutularının boş olup olmadığını kontrol ettirebilirsin data1.recordset.fields("adi")=text1.text data1.recordset.fields("soyadi")=text2.text vs. vs. data1.recordset.update -------------------------------------
böyle olmalı
Ne demek, yardımcı olmayı her zaman isterim..
çok teşekkür ederim kafamda canlandı bişeyler fikirler geldi. Fakat gene aklıma bişey takıldı yukarıda bir kaç kod yazmışım önceden şimdi hayal meyal hatırlıyorumişte.
Movelast demişiz movefirst demişiz başa ve sona göndermeler yapmışız. Bunları yapmadan olmuyor mu
yani direk addnew komutu ekliyor mu veri tabanına.
tamam tamam tamam şimdi hatırladım şöyle idi addnew ile veri tabanı kayıt girilmeye hazırlanıyo kutucuktaki kayıtı sona yürüterek de kayıtı eklemiş oluyoruz. yoksa direk kaydetmiyordu öyle hatırladım.
Lisede yapmıştım bunu aradan 3 sene geçti şimdi üni. de bi proje yapacamda VB seçtim C++ tam bilmediğim için. Ama Vb yi de biraz unutmuşum , zaten bu programıda hiç bişey bilmeden 4 günde yapmıştım sağ olsun hocamış hiç bişey göstermeden bize dönem ödevi vermişti. bende gene böyle araştıra araştıra bişiler bulup yapmıştım.
tekrar teşşekür ediyorum yardımların için
Kaydın sonuna gitmene gerek yok, addnew komutu zaten access veritabanına bir kayıt ekler ve o kaydın üzerine gider.. movelast, movefirst'e gerek yok.. rica ederim..
quote:
Orjinalden alıntı: marion cobretti
quote:
Orjinalden alıntı: Habbit
C# ın kaynak kodları açıktır yani kodların içeriği görülebilir,Onun için kodlamaları hatasız ve karmaşık yapman lazım
Nasıl yani ? Kaynak kodu açık derken ? Masaüstü uygulamalar geliştirmek istiyorum, kaynak kodu açık mı olacak ?
evet bu kısmı bende tam anlayamadım...
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme