C++ / C# / Python Hakkında Herşey Sabitlik

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 87

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
C++

C++ (Türkçe okunuşu: ce artı artı, İngilizce okunuşu: si plas plas), Bell Laboratuvarlarından Bjarne Stroustrup tarafından 1979 yılından itibaren geliştirilmeye başlanmış, C'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir. İlk olarak C With Classes (Sınıflarla C) olarak adlandırılmış, 1983 yılında ismi C++[1] olarak değiştirilmiştir.

Genel olarak her C programı aynı zamanda bir C++ programıdır, ancak her C++ programı bir C programı değildir. Bu durumun bazı istisnaları mevcuttur. C++'ı C'den ayıran özellikler C++'ın nesne paradigması kullanılarak programlamaya olanak tanıyan özelliklerdir. Sınıflar sayesinde yeni veri türleri yaratılabilir veya varolan türlerden yenileri türetilebilir. Ayrıca çokbiçimlilik sayesinde bir sınıf tanımıyla yazılmış kod, o sınıf türünden türetilmiş yeni sınıflarla da çalışabilir.

C++ Nedir , Temel Dersleri

Temel Bilgiler
C++ bilindiği gibi programlama dünyasında en çok ilgi gören C dilinden türemiştir. C++'ı klasik C dilinden farklı yapan yanı; Nesne Yönelimli Programlamayı da ( Object Oriented Programming) C'nin sözdizimi kurallarıyla birlikte desteklemesidir. Normalde C ile sadece yapısal programlama yaparken C++ dili ile hem yapısal hem de nesne yönelimli programlar yazabilirisiniz. C++ diline başlarken önce dilin C'den gelen ve temel olan özelliklerini öğrenmek gerekir. Örneğin değişken tanımlama atama ve diğer basit aritmektik işlemler kontrol yapıları ve döngüler gibi.
Teknolojinin ulaştığı son noktadaki programlama dillerinden olan C ve C++ bir çok yeni ve güçlü özellikleri içerir. Derslerimiz devam ettikçe bunların teker teker içine gireceğiz. C dilinin özelliklerinin %80 i C++'da da mevcuttur (bu karşılaştırma şahsi görüşümdür). Zaten C++ C'nin üst gurubudur. Bunu şöyle sıralayabiliriz. C C++ ve C# dır.
C dilinin avantajları az komut kümesinden oluşması ve bu komutların diğer yüksek seviyeli dillere nazaran daha hızlı çalışmasıdır. Ayrıca C deki kütüphaneler sayesinde fonksiyon tanımlamanıza gerek kalmadan işlemlerinizi yapmak mümkün olacaktır. Bu konuda çok detaya inmeden programlamaya geçmek istiyorum. Çünküprogramlamaya başladığımızda her örnekten sonra o an kullandığımız programın içinde geçen fonksiyon hatadeğişken belirleyiciler kısıtlamalar notasyonlar v.s gibi bilgilerden ara ara bahsedeceğim. Yalnız çok önemli olan bir konuya burada değinmek istiyorum. C nin avantajlarını programlamayla birlikte görmek güzel ama C nin dezavantajlarını programlamadan önce bilmeliyiz ki bunlardan sakınalım. Öncelikle Tanımlayıcılardan bahsetmek istiyorum. Her derleyici ve assmbley için değişkenleri sabitleri etiketleri ve fonksiyon adlarını tanımlama kuralları vardır. Bu notasyonlara tanımlayıcı denir. C++ da tüm tanımlayıcılar a . . . z - A . . . Z harfleri ile ya da alt çizgi "_" ile başlar. Bundan sonra rakam harf ya da alt çizgi kullanılabilir. ANCI C uyumlu derleyiciler 31 karaktere kadar tanımlayıcı kabul ederler fakat tanımlayıcının ilk sekiz karakterini kullanmayı kendimize alışkanlık etmeliyiz. Dikkat etmemiz gereken özelliklerden biri de kullandığımız ifadelerdeki büyük küçük harflerdir. C ve C++ büyük ve küçük harf duyarlılığına sahiptir. Kullandığımız ifadeleri birbirinden farklı ve aynı ifade olarak kullanıyorsak programımız hata verecektir. Bunu bir örnekle anlatayım:
Program
PROGRAM
progRAM
ProgRam Bu şekilde tanımlarsak hepsi birbirinden farklı ifadeler olarak C++ da okunacaktır. Biz Şunu alışkanlık edinmeliyiz; tanımlayıcılarımızın baş harfi büyük olacak. Büyük ve küçük harf kombinasyonlarının kullanılması ile önceden yapılan tanımlamalar bazen işi zorlaştırabilir. Eğer bu değişkenlerden birini kullanmak isterseniz bu zamana kadar nasıl tanımladığınızı bilmeniz gerekir. Örneğin printf()`in PRINTF() olarak çağrılması durumunda " bilinmeyen tanımlayıcı " (Unknown identifier) hata mesajı vererek sizi uyarır. Buna benzer olarak %f ve %F kullanımı hata verdirecektir. Programlamayı yaparken bunlara dikkat etmemiz gerekecek. Çünkü bir değişkeni veya tanımlayıcıyı başta nasıl kullandıysanız üç dört sayfa kod yazdıktan sonrada aynı şekliyle kullanmak zorundasınızdır. İşte burada en büyük handikap yaşanacaktır. Çünkü C/C++ derleyicileri her zaman hatanın nerde olduğunu göstermez. Bunu programcı kendisi satır satır takip ederek bulacaktır. Bundan dolayı bu söylediklerime baştan dikkat etmemiz gerekiyor.
Tavsiyeler:

İyi bir programlama yapabilmek için benim size olan tavsiyelerim; daha az kod kullanarak daha çok işlem yapabilme. Gerçi bunu yapsak zaten profesyonel oluruz . Zaten C++ `ın paradigması da buradan geliyor. Aslında C++ da yapabileceğimiz tüm programları C de yapma olanağımız var ama bu bize hem fazla kod yazmayı gerektirecek hem de zaman kaybetmemize sebep olacak. Zaten bunlardan kaçındığımız için C++ diyoruz. Elimizde nesneye yönelik bir dil varken ve kullanacağımız fonksiyonlar içinde hazır olarak mevcutsa tabi bize de bunun keyfini sürmek kalıyor. Tavsiyelerimden biride derslerde verdiğimiz örneklerin dışında aynı algoritmaya benzer farklı örnekler yapın. Öğrenmenin en iyi yolu yanlış yapmaktır. Bunu şöyle izah edeyim: eğer yanlış yapıyorsanız ve de o yanlışın kaynağını bulup düzeltebiliyorsanız o an onu öğrenmişsiniz demektir. Tabi örnekler sizin için alıştırma olacaktır ve hafızanızda kalıcı bir yer tutacaktır. Bunca kodu başka türlü hafızada tutamayız. İlk başlarda sık sık not alınızmümkün olduğunca da bol örnek yapınız. Örneklerinizi de kendiniz düşünüp kendi hayal gücünüzle oluşturursanız eminim bu işi başaracaksınızdır. Başta çok zor gelebilir ama başarı ter dökülmeden olmaz. Bu kısmı fazla uzatıp sizi daha başlamadan C/C++ dan uzaklaştırmak istemiyorum.
C++ İle Programlamaya Giriş

İlk programımız!

// ilk1.cpp
// Ekrana "Bu benim ilk programım" yazdırıyoruz
#include <iostream.h>

int main()
{
cout << "Bu benim ilk programım";

return 0;
} Şimdi Yazdığımız programı inceleyelim:
"//" işaretini açıklama satırlarında kullanıyoruz. C++ derleyicisi bu notasyonla başlayan satırı okumaz. Bununla birlikte daha uzun cümlelerimiz olursa bunları da " /* */ " notasyonunun içinde yazıcağız. Bu özellik de C den bize kalma. Demiştik zaten C `nin tüm özelliklerini C++ içerir. Fakat biz genelde " // " yi kullanacağız.
#include <iostream.h> : Bu bizim C++ da bulunan kütüphane dosyamızı çağırmaya yarıyor. Ben size şöyle tarif edeyim. iostream.h kütüphanesindeki hazır olan " cout " fonksiyonunu çağırıyor. Yani buda bizim fazla kod yazmamıza engel oluyor. .h ile biten dosyalar kütüphane dosyalarıdır. Bunu şuna da benzetebiliriz. Farz edelim ki elimizde bir alet çantası var içinden tornavidayı çağırdığımızda vida sıkacağızdır. Bu da ona benziyor. C++ da ki hazır kütüphanelerde bir çok hazır fonksiyonlar vardır. İlerde Bu hazır fonksiyonlar işimizi görmemeye başlayınca kendi kütüphanemizi yapmaya başlayacağız. Tabi bu seviyeye geldiğimizde olayı hemen hemen kavramış olacağıztabi neden olmasın öyle değil mi?
Daha sonraki satır her C++ programında mutlaka bulunması gereken bir satırdır. Her C++ programında main() fonksiyonu olmak zorundadır; bu fonksiyonumuzun önünde ise o fonksiyonun dönderdiği değişkenin veri tipi olmalıdır. Tabi ki C++ fonksiyonlar ve onların dönderdikleri değerler konusunu da ileride işleyeceğiz.
Bir sonraki satırda ise; C++ fonksiyonlar ve kod blokları " { } " parantezleri arasında bulunmalıdır. main de bir fonksiyon ise onun içindeki kodlar doğal olarak { } parantezleri arasındadır.
Program derlenip çalıştırıldığında ise ( Turbo C++ 3.1 kullanıyorsanız ctrl+f9 kısa yoluyla programı çalıştırabilirsiniz (Run) ) karşımıza "Bu benim ilk programım" yazısı çıkacaktır. İşte bu yazıyı ekrana veren komut da iostream.h kütüphanesindeki cout fonksiyonudur.
Önemli bir nokta ise C++ dilinde her satır ifadenin sonuna " ; " koymak zorundayız. Bundan farklı olarak #include satırlarının ve bir kaç farklı satırın arkasına " ; " gelmez. Bunları ileride göreceğiz.
Return 0 : programımızın (aynı zamanda main fonksiyonumuzun) çıkış noktasıdır. Eğer return ile 0 değeri dönderirsek programımızın güvenle çıktığını işletim sistemine bildirmiş oluruz. Bu sayede güvenle programımızın çalıştığını göreceğiz.
Şimdi size bir örnek daha vereceğim bununla da aynı çıktıyı elde edeceğiz. Arasındaki farkları eminim basit olarak sizlerde göreceksinizdir.
// ilk2.cpp
// Ekrana "Bu benim ilk programım" yazdırıyoruz
#include <stdio.h>
main()
{
printf("Selam bu benim ilk programım.\n");
return 0;
} Evet şimdi burada çok fark varmış gibi gözüküyor aslında ama öyle değil. Sadece kütüphanemiz stdio.h oldu ve ekrana yazdır fonksiyonumuzda printf oldu. Bu özellik C den kalma. Bunlar diğer program ile aynı işlevi görüyor. Buradaki fark " \n " notasyonu. Bu noptasyon bir sonraki satıra geçmek için kullanılır. Bu notasyonlara Escape dizileri denir. Tablo olarak bunları size veriyorum. Son yazdığımız ilk2.cpp de yerlerine koyarsanız çalışacaktır.





C#
C# Programlama Dili (si şarp şeklinde telaffuz edilir), Microsoft'un geliştirmiş olduğu yeni nesil programlama dilidir. Yine Microsoft tarafından geliştirilmiş .NET Teknolojisi için geliştirilmiş dillerden biridir.

Microsoft tarafından geliştirilmiş olsa da ECMA ve ISO standartları altına alınmıştır.

C programlama dilinde bir tamsayı değişkeni 1 attırmak için ++ soneki kullanılır. C++ dili adını, C diliyle Nesneye Yönelimli Programlama yapabilmek için eklentiler (C With Classes) almıştır. Benzer şekilde C++ diline yeni eklentiler yapılarak ((C++)++) bir adım daha ileriye götürülmüş ve tamamen nesneye yönelik tasarlanmış C# dilinin isimlendirilmesinde, + karakterlerinin birbirlerine yakınlaşmış hali ve bir melodi anahtarı olan C# Major kullanılmıştır.

Bu dilin tasarlanmasına Pascal, Delphi derleyicileri ve J++ programlama dilinin tasarımlarıyla bilinen Anders Hejlsberg liderlik etmiştir.

Birçok alanda Java'yı kendisine örnek alır ve C# da java gibi C ve C++ kod sözdizimine benzer bir kod yapısındadır. .NET kütüphanelerini kullanmak amacıyla yazılan programların çalıştığı bilgisayarlarda uyumlu bir kütüphanenin ve yorumlayıcının bulunması gereklidir. Bu, Microsoft'un .Net Framework'u olabileceği gibi ECMA standartlarına uygun herhangi bir kütüphane ve yorumlayıcı da olabilir. Yaygın diğer kütüphanelere örnek olarak Portable.Net ve Mono verilebilir.

Özellikle nesne yönelimli programlama kavramının gelişmesine katkıda bulunan en aktif programlama dillerinden biridir .NET platformunun anadili olduğu bazı kesimler tarafından kabul görse de bazıları bunun doğru olmadığını savunur.

C#, .NET orta seviyeli programlama dillerindendir. Yani hem makine diline hem de insan algısına eşit seviyededir. Buradaki orta ifadesi dilin gücünü değil makine dili ile günlük konuşma diline olan mesafesini göstermektedir. Örneğin; Visual Basic .NET (VB.NET) yüksek seviyeli bir dildir dersek bu, dilin insanların günlük yaşantılarında konuşma biçimine yakın şekilde yazıldığını ifade etmektedir. Dolayısıyla VB.NET, C#.NET'ten daha güçlü bir dildir diyemeyiz. Programın çalışması istenen bilgisayarlarda framework kurulu olması gerekmektedir. (Win7 ve Vista'da framework kuruludur)

Python (programlama dili)
Python, nesne yönelimli, yorumlanabilen, birimsel (modüler) ve etkileşimli bir programlama dilidir.

Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.

Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.

Geçmiş
Geliştirilmeye 1990 yılında Guido van Rossum tarafından Amsterdam'da başlanmıştır. Adını sanılanın aksine bir yılandan değil Guido Van Rossum'un çok sevdiği, Monty Python adlı altı kişilik bir İngiliz komedi grubunun Monty Python's Flying Circus adlı gösterisinden almıştır. Günümüzde Python Yazılım Vakfı çevresinde toplanan gönüllülerin çabalarıyla sürdürülmektedir. Python 1.0 sürümüne Ocak 1994'te ulaşmıştır. Son kararlı sürümü, 2.x serisinde Python 2.7 ve 3.x serisinde Python 3.2.2'dir. 3 Aralık tarihinden itibaren 3.x serisi yayınlanmaya başlamıştır; ancak 3.x serisi 2.x serisiyle uyumlu değildir.

Kullanım
Django, Zope uygulama sunucuları, YouTube ve orijinal BitTorrent istemcisi, Pardus Linux dağıtımı Python kullanan önemli projelerden bazılarıdır. Ayrıca Google, NASA ve CERN gibi büyük kurumlar da Python kullanmaktadır.

Ayrıca OpenOffice.org, GIMP, Inkscape, Blender, Scribus ve Paint Shop Pro gibi bazı programlarda betik dili olarak kullanılır.

Pek çok Linux dağıtımında Python öntanımlı bir b

ileşen olarak gelir.

Programlama Dili Dersleri

C++Dersleri
[video]
C# Dersleri
[video]C# Dersleri [/video]
Python Dersleri
[video]

Not: Toplarlanıp Bu Hale Getirilmiştir Bilmeyenler Faydalansın Diye Kendi Konum Değildir.

C++ / C# / Python Hakkında Herşey Sabitlik


Metin2 özel sunucu geliştirmesi yaparken kullanılan en yaygın programlama dillerinden bazıları C++, C# ve Python'dur. Bu diller, hem sunucu tarafında hem de istemci tarafında önemli roller üstlenir. Özellikle Metin2 server src geliştirme süreçlerinde, bu dillerin sağladığı esneklik ve performans büyük avantajlar sunar. Bu yazıda, C++, C# ve Python dillerinin Metin2 geliştirme sürecinde nasıl kullanıldığını, hangi amaçlarla tercih edildiğini ve bu dillerin sabitlik açısından ne gibi katkılar sunduğunu detaylı olarak inceleyeceğiz.

C++ ile Metin2 Geliştirme
C++, Metin2 sunucularında en çok tercih edilen dil olarak karşımıza çıkar. Özellikle game server programming ve auth server süreçlerinde yüksek performans sunar. C++, düşük seviyeli işlemlerde doğrudan bellek yönetimi imkanı verir ve bu sayede sunucu kaynaklarının daha verimli kullanılmasını sağlar. Metin2 compile işlemleri de genellikle bu dil üzerinden yapılır. Ayrıca, C++ ile yazılmış sistemler, kararlı ve sabit çalışır yapıya sahiptir. Source edit işlemleri sırasında da bu dilin kararlı yapısı, geliştiricilere büyük kolaylık sağlar.

C# ile Oyun Geliştirme ve GUI Arayüzleri
C# ise genellikle daha çok görsel arayüz geliştirmelerinde tercih edilir. Özellikle py gui veya python gui gibi sistemlerin alternatifi olarak C# ile geliştirilen uiscript benzeri arayüzler oluşturulabilir. C#, Microsoft .NET platformu üzerinde çalıştığı için kolay entegrasyon ve hızlı geliştirme süreçleri sağlar. Bu yönüyle, C# da sabitlik açısından oldukça güçlüdür. Özellikle Martysama veya diğer Metin2 geliştirme araçlarında C# baz alınan sistemler, uzun süreli kullanım için idealdir.

Python ile Dinamik Sistemler ve Script Geliştirme
Python, Metin2 geliştirme sürecinde daha çok script ve system geliştirme için kullanılır. Özellikle py root klasörlerinde yer alan Python dosyaları, oyun içindeki dinamik sistemlerin kontrolünü sağlar. Python, pack[/COORD] sistemlerinde de sıkça kullanılır. Python’un okunabilir syntax yapısı, Metin2 development sürecinde ekip çalışmalarında büyük kolaylık sağlar. Ayrıca, Metin2dev süreçlerinde Python ile yazılan scriptler, kararlı ve sorunsuz çalışan sistemlerin temelidir.

Sabitlik Açısından Dil Seçimi
Her üç dilin de sağladığı sabitlik farklı seviyelerdedir. C++ düşük seviyeli kontrol imkanı verdiği için en kararlı sistemlerin temelini oluşturur. C# ise görsel ve kullanıcı etkileşimli sistemlerde kararlılık sunar. Python ise dinamik sistemlerde sabitlik sağlar. Bu üç dilin doğru şekilde bir arada kullanılması, Metin2 pvp game source gibi projelerde büyük başarı sağlar. Game core, db core[/COORD] gibi temel yapılar için C++ ideal iken, db işlemleri ve kullanıcı etkileşimi için Python ve C# daha uygundur.

Sonuç
C++, C# ve Python, Metin2 özel sunucu geliştirme süreçlerinde kritik öneme sahiptir. Bu dillerin sağladığı sabitlik, core sistemlerin sağlıklı ve uzun süreli çalışmasını sağlar. Channel tabanlı sunucularda da bu dillerin kararlı yapısı, her zaman avantaj sağlar. Geliştiricilerin bu dilleri doğru şekilde kullanması, Metin2 lobby[/COORD] gibi platformlarda kaliteli sunucuların oluşmasını sağlar.


Everything About C++ / C# / Python Stability


Among the most commonly used programming languages in Metin2 private server development are C++, C#, and Python. These languages play crucial roles both on the server side and client side. Especially in Metin2 server src development processes, the flexibility and performance provided by these languages offer significant advantages. In this article, we will examine in detail how the languages C++, C#, and Python are used in the Metin2 development process, for what purposes they are preferred, and what kind of contributions they provide in terms of stability.

Metin2 Development with C++
C++ emerges as the most preferred language in Metin2 servers. Especially in game server programming and auth server processes, it provides high performance. C++ allows direct memory management in low-level operations, thereby enabling more efficient use of server resources. Metin2 compile operations are also usually performed through this language. Additionally, systems written in C++ have a stable and reliable structure. During source edit operations, the stable nature of this language provides great convenience to developers.

Game Development and GUI Interfaces with C#
C# is generally preferred more for visual interface developments. Especially as an alternative to systems like py gui or python gui, interfaces similar to uiscript can be created using C#. Since C# runs on the Microsoft .NET platform, it provides easy integration and rapid development processes. With this aspect, C# is quite robust in terms of stability. Systems based on C# used in tools like Martysama or other Metin2 development tools are ideal for long-term usage.

Dynamic Systems and Script Development with Python
Python is mostly used for script and system development during the Metin2 development process. Particularly, Python files located in py root folders control dynamic systems within the game. Python is frequently used in pack systems as well. The readable syntax structure of Python provides great ease in team work during the Metin2 development process. Moreover, scripts written in Python in Metin2dev processes form the basis of stable and error-free operating systems.

Language Selection in Terms of Stability
The stability provided by all three languages varies at different levels. C++ forms the foundation of the most reliable systems due to its ability to provide low-level control. C# provides stability in visual and user interactive systems. Python offers stability in dynamic systems. Correctly combining these three languages provides great success in projects such as Metin2 pvp game source. While C++ is ideal for basic structures like game core and db core, Python and C# are more suitable for db operations and user interaction.

Conclusion
C++, C#, and Python are critically important in Metin2 private server development processes. The stability provided by these languages ensures that core systems operate healthily and sustainably. In channel-based servers, the stable structure of these languages always offers advantages. Correct usage of these languages by developers ensures the creation of quality servers on platforms like Metin2 lobby.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt