Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Esra Altınırmak
Esra Altınırmak
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
1 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  C# / VC#/.NET Esra Altınırmak
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 20.3.2003
Okunma Sayısı : 23709
Yorum Sayısı : 12     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 10.8.2022
Turhal Temizer
Mac OS/X Removing CUDA 10.8.2022
Burak Selim Şenyurt
Rust Pratikleri - Value Moved Here 10.8.2022
Burak Selim Şenyurt
Rust Pratikleri - State Tasarım Kalıbı 10.8.2022
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
C#-JAVA' nın Sonu mu?
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
JAVA'nın gün geçtikçe yaygınlaşan kullanım alanları, Microsoft firmasını gerçekten güç duruma düşürdü. 1995 yılında JAVA ufukta göründü ve geçtiğimiz 6 yıl içerisinde kendisi ile rekabet eden diğer bütün popüler diller üzerindeki üstünlüğünü gösterdi. Başlangıçta Microsoft bu duruma direndi ancak daha sonra, JAVA meşhur Visual Studio nun Visual J++ adı altında bir parçası oldu. JAVA' yı çıkaran Sun Microsystems, Microsft aleyhine lisans anlaşmasını ihlal ettiği gerekçesiyle dava açtı ve Microsft buna karşılık bir bedel ödemek zorunda kaldı.

Sonunda ortalık yatıştı ve Microsft Visual J++ 'ın yeni versiyonlarını çıkarmaya devam etti. Fakat Microsoft'un JAVA dilini Visual Studio paketinin içine koyma çabası başarıya ulaşamadı ve en sonunda başarız oldu. Elbette ki bu başarısızlık ta pazarlamanın iyi yapılamamasının da etkisi olmuştur. Sonuç olarak Microsoft 1998 yılından sonra Visual J++ için yeni bir versiyon çıkarmadı, ve yakın bir gelecek içinde de bu tür planlarını askıya aldı.

Sonunda Microsft anladı ki bir yerlerden ödünç alınan ürünler uzun vadede işe yaramayacak, bu yüzden Microsoft, daha çok JAVA'ya benzeyen ancak JAVA da olmayan bir takım yeni özellikleride ekleyerek C# (C Sharp) isimli yeni bir programlama dili tasarlamaya başladı. Bu makalenin amacı C# hakkındaki şüphelerinizi gidermek ve JAVA ile karşılaştırmaktr.
Peki, Microsoft 'un ilgilendiği bu pakette önerdikleri nelerdi?

Bu pakette Microsoft'un önerdiği iki ana yapı vardı:

.NET Mimarisi
Yeni bir dil - C#


.NET Mimarisi

.NET mimarisinin 3 ana bileşeni vardır.

Herhangi bir dil tarafından kullanalabilecek Web Servisi denilen yeni bir ortak servisler kümesi. Bu servisler ara kod(intermediate kod) dediğimiz mimariden bağımsız bir yapı içerisinde çalıştırılır. Bu ara kod daha sonra çalışma zamanında CLR denilen birim tarafından çalıştırılır, ki bu bahsedilen CLR birimi programla ilgili kaynakları yöneten ve programın çalışmasını izleyen bir birimdir.

.NET'in birincil amacı geliştiriciler açısından Web Servislerini kullanarak mimariden bağımsız uygulamalar geliştirmeyi kolaylaştırmaktır. Örneğin bir servise hem PC hem PDA hemde Mobil cihazlardan erişebilme gibi.

Şimdi bu yapıları tek tek inceleyelim.

Web Servisleri

Web Servisleri internet standartları olan XML ve HTTP üzerinden hizmet verebilen yapılardır. Daha teknik bir dille söylemek gerekirse, web servisleri internet üzerinden erişilebilen bir kütüphane, bir fonksiyon yada bir veritabanı gibi düşünülebilir. Örneğin; bir web servisi herhangi bir şirkete ait bir yıllık ciroyu hesaplayıp veren bir fonksiyon içerebilir. Bu fonksiyon parametre olarak bir yıl değeri almaktadır. Dolayısıyla istemci uygulamamız geri dönüş değeri 2000 yılına ait ciroyu Yıllık_ciro(2000) gibi bir fonksiyonu çağırarak elde edebilir.

Aslına bakarsanız bir firmada farklı platformlara yönelik hazırlanmış uygulamalar arasında ki senkronizasyonu sağlamak amacıyla Web Servisleri kullanılabilir. Buna rağmen Web Servisi kelimesindeki "Web" sözcüğü ile internet ortamında web servislerinin kullanımını ön plana çıkarmak için kullanılmıştır. Fakat normal ugulamarda da çoğu durumda Web servsilerinden faydalanmamız mümkündür.

Web servislerinin en güzel yani servisin her yerden istenebilmesidir. Kısacası web servisi uygulama alanlarına Windows, Linux, Unix, Mac-Os gibi platformların yanısra komut satırından çalışan diğer ortamlar bile girebilir. Yani Web servisleri sayesinde platform bağımsız uygulamalar geliştirebiliriz. İnternet standartlarının platform bağımsız olması ve web servislerininde internet üzerinden çağrılması, web servislerinin herhangi bir işletim sisteminin yada programlama dilinin tekelinde olmamasını sağlamıştır.


Ara Kod(İntermediate Code)

Ara kod! Kulağa pek hoş gelmiyormu? Bu bana birşeyi hatırlatıyor....hımmm..... JAVA? Evet, elbette. Microsoft açık bir şekilde .NET ile JAVA' nın çalışma platformundan esinlendiğini kabul etti böylece. .NET ortamında, programlar bir ara dil üzerinden ikili koda çevrilir. İşletim sisteminden ve donanımdan bağımsız olan bu dile MSIL(Microsft Intermediate Language) denir. (Çevirenin notu: MSIL artık IL olarak anılmaktadır.) IL kodu, JAVA platformundaki JVM de olduğu gibi CLR tarafından derlenip makina koduna çevrilir. IL kodunu makine koduna çeviren derleyicilere ise JIT(Just In Time) derleyicileri denilmektedir.

IL kodu şeklinde derlenmiş bir uygulamaya taşınabilen çalıştırılabilir(Portable Executables) uygulama denir. CLS nin şartı bütün dillerin ortak bir noktada toplanmasını sağlayacak kurallar oluşturmaktır. Ancak burada bir problemle karşılaşıldı, oda bütün dillerin farklı semantik yapıya sahip olmasıdır, örneğin her dilin farklı özellikleri olabilir, bazı diller prosedürel tekniği destekler, bazıları nesne yönelimi tekniğini destekler, bazılarında operatör yükleme varken bazılarında yok, ve diğerleri.

Bir dilin .NET uyumlu olması için CLS(Common Language Specification) standartlarına uyması gerekir. Dolayısıyla bir dilin .NET ortamına uyumlu olması için sağlaması gereken iki koşul vardır:

CLS ile uyumluluk
Kaynak kodu IL koduna çevirecek derleyici

Peki yukarıda bahsedilen komplek yapı bize ne kazandıracak? Diller arası çalışma? Bütün .NET uyumlu dillerde yazılmış kodlar ara koda çevrileceği için herhangi bir dil de yazılmış bir nesneyi başka bir dilde yazdığımız programda oluşturabiliriz. Örneğin .NET uyumlu C# dilinde yazılmış bir sınıf ile, VB programcısı bir nesne oluşturabilir.

Peki JAVA'nın bu durumdaki rolü ne? Yada Microsoft JAVA yı devre dışımı bıraktı? Tam olarak değil. JAVA nın .NET dilleri arasında olması düşünüldü. JAVA kodunu IL koduna çevirecek derleyici Rational firması(ünlü UML yazılım geliştirme aracını geliştiren firma) tarafından hazırlanmaktadır.(Not: bu yazının yaıldığı tarihte JAVA derleyicisi yeni yazılıyordu). Peki bu eskisiyle aynı JAVA mı olacak? Aslına bakarsanız hayır. JAVA kodları artık byte kod yerine IL koduna çevrilecek.Yeni JAVA, J2EE'nin sağladığı RMI, JMS, JDBC, JSP vs gibi API' lerden faydalanamayacak.Yeni geliştirilen JAVA ile EJB mantığı yerini .NET'in dağıtık nensne modeline bırakmıştır.

CLR(Common Language Runtime)

Yukarıda da bahsettiğim gibi CLR, konsept olarak JVM(Java Virtual Machine)'ye çok benzemektedir. JVM bellek yönetimi için kaynakların düzenlenmesi, gereksiz bilgi(çöp bilgi) toplama ve işletim sistemi ile uygulama arasındaki iletişimi sağlayan bir birimdir.

CLR, dizilerin sınırlarının aşılması, tahsis edilmeyen bellek alanına ulaşlması, bellekteki gerekli alanların üzerine yazılması gibi programların çökmesine sebep olan geleneksel hataların durumunu izler. Bu izleme hızlılıktan fedakarlık sağlamak demektir. Microsoft bu yöntemle performansın %10 oranında düşeceğini kabul etmiştir, fakat bu sistemler devamlılık ve güvenilirlik açısından daha ön plandadır.

.NET Senaryoyu Sunuyor

Bu yılın ortalarına doğru .NET'in tam sürümü piyasada olacak(Çevirenin not: Yazının yazıldığı tarihe göre düşünmelisiniz) Microsoft mimarisinin kullanıldığı eski uygulamalar .NET uyumlu Windows 2000 sunucularında hala geçerliliğini sürdürecek. Eski mimarideki uygulamaların yeni gelecek bu mimariye taşınabilmesi için gerekli araçların olacağını Microsft garanti etmiştir, ancak bunun iyi bir çözüm olacağı görülmüyor. Halihazırdaki taşımak için geliştirilen araçların bu işlemi %100 yapamayacağı açıktır. Geliştiriciler bu taşıma işleminden dolayı epeyce bir zaman harcayacak.

.NET'in Geleceği

.NET'in gelişi ile birlikte, elektronik uygulamaların altyapısının değişmesi gerektiğini inkar edemeyiz. Her dil, .NET uyumlu olması için yapısal bir takım değişiklikler yapmalıdır. Java dilini bir düşünün. Hangi Java daha tercih edilir sizce, JVM ile JAVA mı yoksa .NET ile JAVA mı? Bu sorunun cevabını siz okurlarıma bırakıyorum.

Yeni Bir Dilin Doğuşu

Microsft .NET'in 27 farklı dil desteğinin olduğunu iddia ediyor.(Çevirenin not: Şu an bu dillrein sayısı daha fazla) Bir dili .NET uyumlu hale getirmek dilin varolan mimarisine yeni yamalar eklemek demektir. Microsft bu durumu değerlendirerek temel olarak .NET mimarisi hedef alınarak yeni bir dil tasarladı. Bu dilin adı C-Sharp yada C#. Bu dili daha çok JAVA yı andırıyor olmasına rağmen var olan diğer dillerden de güzel özellikler alınıp C# diline eklenmiş gibi gözüküyor.

C# nedir?

Geçen iki yüzyıl içerisinde C ve C++ dilleri ticari ve iş uygulamaları geliştirmek için en çok kullanılan diller olmuştur. Bu iki dil programcılara büyük miktarda kontrol sağlamasına rağmen, üretim açısından çok olanak sağlamıyordu.

Bu dilleri Visual Basic gibi dillerle karşılaştırdığımızda aynı uygulamyı geliştirmenin C ve C++ dillerinde daha fazla zaman aldığı bir gerçektir. Yıllardan beri istenilen tek şey güçlülük ve üretim hızının arasında bir denge kuracak bir dilin olmasıydı. Geçtiğimiz yıllarda bu problem Sun Microsystems tarafından anlaşıldı. Ve diğer dillerin çalışma mantığından tamamen farklı olan JAVA dilini geliştirdi. Bytecode konsepti, JVM ve açık kaynak kod vs ve sonuç olarak bedeva olması bu farklılıklardan bir kaçıdır.

Fakat unutulan bir şey vardı. JAVA ile yazılan kodlar başka dillerde kullanılamıyordu. Tekrar kullanılabilirlik denen bu özelliği JAVA desteklemiyordu. Böylece, tekrar kullanılabilirliği standartlaştıracak bir ortamın gerekliliği ortaya çıktı. Bu ortam .NET ile sağlandı, zira .NET ile uyumlu dillerin sağlaması gereken CLS standartları mevcuttur. Fakat daha öncede dediğim gibi .NET ile tam uyumlu çalışacak ve diğer dillerin güzel özelliklerini sağlayacak yeni bir dile ihtiyaç vardı.


Hakkında konuştuğum bu dil C-Sharp diye okunan C#'tan başka birşey değildir.

C#, modern, nesne yönelimli, tip güvenliğine büyük önem veren, temel hesaplama ve haberleşme gibi geniş bir yelpazedeki uygulamaları geliştirmek için .NET platformu için tasarlanmış yeni bir dildir.

C#, C++ programcılarınına üretkenliği ve C++ dilinin güçlülüğünün göstergesi olan kontrol mekanizmalarından taviz vermeden hızlı bir şekilde uygulama geliştirme olanağı tanımaktadır.

C# ve JAVA'nın Karşılaştırılması

İyi bir dilin sağlaması gereken şeyler nelerdir? Yada programcıların gönlünü kazanmak için bir dil yapısında neyi barındırmalıdır? Bu sorular on yıllardan beri dil tasarımcılarının üzerinde durduğu tartışmaya açık sorulardır. Bütün programcılar tarafından ittifakla kabul edilmiştir ki, bu soruların cevabını en iyi şekilde veren dil JAVA'dır. C#, sentaks olarak JAVA'ya çok benzemektedir, ancak derinlerine daldıkça Microsoftun bu dili tasarlamak için çok efor sarfettiğini ve bu yeni eklenen bu özellikler için Microsoft'a teşekkür etmemiz gerektiğini anlarız.

Şimdi isterseniz JAVA nın özelliklerini tek tek ele alıp bunları C#'ın ilgili özellikleriyle karşılaştıralım.

Intermediate Language(Ara dil)

JAVA kaynak kodu byte koduna çevirirken C# MSIL(IL) koduna çevirir. IL dili .NET uyumlu bütün dillerde yazılmış olan programların ortak olarak derlendiği dildir. Fakat IL ve Byte Kod'un çalışma mantığında ince bir farklılık vardır. JAVA daki bytecode'lar yorumlanırken IL kodu derlenerek makina koduna çevrilir.

Interoperability (Diller arası uyumluluk)

JAVA'nın gücü platform bağımsız olmasından kaynaklanmaktayken C# aynı zamanda diller arasındaki uyumluluğuda sağlar. Yani dil bağımsızlığı. Güzel!. Şimdi bunları biraz daha açalım: JAVA ile yazılmış bir program JVM'nin olduğu bütün sistemlerde çalışması sözkonusu iken, C# ile yazılan bir kod diğer .NET uyumlu diller tarafından tekrar kullanılabiliyor. Örneğin bir dilde yazılan sınıf, diğer .NET uyumlu diller ile rahatlıkla kullanılabilir.

Bellek Yönetimi

JAVA otomatik bellek yönetimi sağlamaktadır.(daha teknik bir deyimle gereksiz bilgi toplama mekanizması denir.) Bu özellik programcılar tarafından takdirle karşılanmıştır. Fakat eski C/C++ programcıları JAVA diline geçmeye çalışınca bu özellik onları rahatsız ediyordu. Bu tür programcıların problemlerini da göz ardı etmeden, C# otomatik bellek yönetiminin yanında programcının belleği kendisininde yönetmesini sağlayan sistem sunmuştur. Ne demek bu? Basit. C#' ta hala pointer kullanabiliyoruz. (Çevirenin Notu: Müthiş!)

Harici Kodlara Referans

Harici kodlar C# ve JAVA'da benzer şekilde ele alınmıştır. JAVA dilinde import anahtar kelimesi kullanılırken C# ta using anahtar kelimesi kullanılmaktadır. JAVA paket(packages) kullanırken, C# isim uzayları(namespace) kullanır. Fakat bunların anlamları aşağı yukarı aynıdır.

Veri Tipleri

Bir dilin gücü, dilin desteklediği farklı veri türleri tarafından belirlenir. Veri tipleri programcılara güçlülüğü ve esnekliği sağlayan varlıklardır. C#, JAVA daki bütün veri tiplerini sağlamıştır, bunun yanısıra JAVA da olmayan bazı türler de eklenmiştir, örneğin bazı işaretsiz(unsigned) veri türleri JAVA da yoktur. Ayrıca C# ta kayan noktalı(floating point) bir veri türü olan 12 byte'lık decimal türü de mevcuttur.

Alan Düzenleyicileri (Field Modifiers)

C# taki Alan düzenleyicileri temel olarak JAVA dilindeki gibidir. Değiştirlemeyen yada sabit bir değişken tanımlamak için JAVA daki final dan farklı olarak read only ve const belirleyicileri kullanılır. const olan alan düzenleyiciler, ilgili değerin IL kodunun bir parçası olduğu ve sadece çalışma zamanında hesaplanacağı anlamına gelir.

Kontrol Mekanizması Oluşturma

if-else, switch, while, do-while, for, break, contine deyimleri her iki dilde aynıdır. Fakat C# ta yeni bir kontrol daha vardır. C# taki bu yeni yapı koleksiyonlar arasında dolaşmak için gerekli olan for each yapısıdır.

int slist(Arraylist alist)
……….
foreach (int j in alist)
{
………….
}

Yukarıdaki yapıda j döngü değişkeni olarak adlandırılır. Bu döngü değişkenine her iterasyonda alist dizisinin int türden olan elemanı atanır.

Arayüz ve Sınıf Bildirimi

JAVA daki extends ve implements anahtar sözcükleri C# te yerini iki nokta işaretine(:) bırakmıştır.

İstisnai Durumları Ele Alma(Exception Handling)

C# ta catch bloğundaki argüman isteğe bağlıdır. Eğer catch ile argüman belirtilmemişse, bu catch bloğu try bloğunda fırlatılacak herhangi bir hatayı yakalamak için kullanılır. Bütün catch bloğuda C# ta kullanılmayabilir. Ayrıca C# ta throws(çevirenin not: throw ile karıştırmayın) anahtar sözcüğü yoktur.

Arayüzler

C# ta bir sınıf isteğe bağlı olarak açıkca bir arayüzü uygulayabilir. Açıkca uygulanan metotlar arayüz ve sınıf arasındaki tür dönüşümü sayesinde çağrılabilir.

Kalıtım

JAVA ve C# ta sadece tekli türetme mevcuttur. Eğer çoklu türetme yapmak gerekiyorsa arayüzleri kullanmak tek yoldur.

Çok Biçimlilik(Polymorphism)

Sanal metotlar çok biçimliliği gerçekleştirmek için kullanılır. Bunun anlamı taban sınıfların, türemiş sınıflara ait aşırı yüklenmiş metotları çağırabilmesidir. JAVA da bütün metotlar sanaldır, fakat C# ta türemiş bir sınıftaki metodu taban sınıf ile çağırabilmek için metodun açıkca virtual anahtar kelimesi il işaretlenmesi gerekir. C# ta override anahtar kelimesi bir metodun türeyen sınıfta yeniden yazılacağını bildirmek için gereklidir. Sanal olmayan bir metodu yeniden uygulamaya çalışmak derleme zamanı hatasına yol açacaktır. Fakat eğer türemiş sınıftaki metot new anahar sözcüğü ile işaretlenirse program hata vermeden derlenecektir.


Pekala, sonuç nedir? C# te yeni bir şey bulabildinizmi, yoksa JAVA nın üvey kardeşi gibi mi duruyor? Microsoft bu uğraşının karşılığını ilerde alacakmı? Yeni bir dilin var olan uygulamalar üzerinde, değişik platformlarda hatta programcılar üzerindeki etkisi ne olacak? Bu can alıcı soruların cevabını ancak zaman verebilir. Fakat bu arada beyninizde bu soruları yavaş yavaş çözün ve düşünün. C# gerçekten JAVA nın sonumu?


----------------------------

Bu makale http://www.csharphelp.com/archives/archive86.html adresindeki yazıdan Türkçeye tercüme edilmiştir.

Makale:
C#-JAVA' nın Sonu mu? C#, Visual C# ve .NET Esra Altınırmak
  • Yazılan Yorumlar
  • Yorum Yaz
EYL
5
2012
Şu anda Javada foreach yapısı var. Ayrıca Java şu anda C#'tan açık ara önde. C#, C++'la yarışıyor bile denebilir: http://www.webrazzi.com/2012/08/31/populer-programlama-dilleri-ve-teknolojileri/
EYL
14
2009
Tanım : "C# otomatik bellek yönetiminin yanında programcının belleği kendisininde yönetmesini sağlayan sistem sunmuştur. Ne demek bu? Basit. C#' ta hala pointer kullanabiliyoruz" Düzeltme: javada'da isterseniz pointer kullanabiliyorsunuz.Yani isterse bir java programcısı da belleği kendisi yönetebilir.
ARA
16
2006
C# Javanın sonu değildir Şunu unutmayın JAVA hiç bir zaman bitmez bu kadarkendini kanıtlamış bir teknolojinin ve bu bir çok sektörde söz sahibi olan JAVA teknolojisi bitmez Ha ama şu olurC#,.NET JAVA yı geride bırakır kullanımı daha çok yaygınlaşır Ki görünen köy kılavuzistemez C# sektörde bastıra bastıra kullanılıyor Dil bazında c# ın javadan biraz üstün olduğu kesin bunu kimse yadsımasın C# Microsoft olduğu sürece vardır JAVA her zaman vardır
TEM
8
2005
bence yazı fazla abartılmıs bir c# anlatıyor .net tabanının tamamı yanlızca javanın yapabildiklerinin tamamını yapamamasıda bunun cabsı.ama usengec programcılar(ben) icin ideal bir ortam oldugu kesin.
EKİ
25
2004
Ben C# ta burada anlatilanlara göre pek önemli bir avantaj görmüyorum.
EYL
24
2004
Yazının orjinalinde "For the past two centuries..." diye geçiyor. Yani "geçen 2 yüzyıl boyunca" diyo. Bana pek espriymiş gibi gelmedi ama olsun. Zaten o kadar da önemli bir şey değil o kadar yazı içinde :) Yine de ilgilendiğiniz için teşekkürler.
EYL
23
2004
90 lı yıllardan 2000 li yıllara geçince yazar espiri olsun diye 2 yüz yıl demiş sanırım.. yani bir espiri bu bence
EYL
23
2004
Şimdi orjinal metine baktım ve "two centuries" yazdığını gördüm. Bana çok ilginç geldi. Bu konudaki düşüncelerinizi merak ediyorum.
EYL
23
2004
"Geçen iki yüzyıl içerisinde C ve C++ dilleri ticari ve iş uygulamaları geliştirmek için en çok kullanılan diller olmuştur." demişsiniz. Sanırım bir çeviri hatası var. Büyük ihtimalle orjinal metinde "decade" kelimesi kullanılmıştır. Bu da 10 yıl demektir. Yani geçen 20 yıl içinde demeniz gerekirdi. Saygılar,
NİS
1
2003
HAYIR
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor