Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

Ana Sayfa Blog Sayfa 9

İşaretleme dili (biçimlendirme dili) nedir, örnekleri nelerdir?

0

Bir anahtar sözcük kullanarak arama motoru üzerinden bir web sayfasını ziyaret ettiniz. Bazı cümlelerin kalın puntoyla yazıldığını, bazılarının renkli olduğunu, bazılarının italik yazıldığını, bazılarının ise link içerdiğini (bkz. hiper metin) görüyorsunuz. Peki bu gördükleriniz tam olarak ne anlama geliyor?

İşaretleme dili (biçimlendirme dili) nedir?

İşaretleme dili veya biçimlendirme dili, metinlerin nasıl yapılandırılacağına veya biçimlendirileceğine dair açıklamaları içeren yapay bir dildir. Biçimlendirme dili, bir metin belgesinin yapısını, biçimlendirmesini veya parçaları arasındaki ilişkiyi kontrol etmek için eklenen bir dizi sembolden oluşan standart metin kodlama sistemidir.

Bir sayfanın genel görünümünü ve içerdiği verileri biçimlendirmeye yardımcı olur.

İşaretleme dili neden gereklidir?

İşaretleme dilleri modern hayatımızda hayati bir rol oynar. Ayrıca, HTML gibi biçimlendirme dillerinin bu kadar popüler ve önemli hale gelmesinin bir diğer nedeni de, belge işlemede tutarlılığı yaratan standartlar sağlamalarıdır.

Örneğin uzun bir yazıda sorunuzla ilgili olan bir kısmı bulmanız için işaretlenen başlıklar okuyucuya kolaylık sağlar. Veya okuyucunun metin içerisinde bilgi sahibi olmadığı bir terim veya sözcükle ilgili köprü bağlantı sağlanabilir. Veya yazara ait olmayan bir cümle alıntı (quote) etiketiyle biçimlendirilebilir. Tüm bunlar hem üretilen belgenin arama motorları tarafından daha sağlıklı bir şekilde taranmasına hem de okuyucu açısından büyük kolaylıklar sağlanmasına yol açar.

Çalışma prensipleri

İşaretleme dili, bir belge içindeki öğeleri tanımlamak için etiketleri kullanan (örneğin <strong>) bir bilgisayar dilidir. İnsan tarafından okunabilir, yani biçimlendirme dosyaları tipik programlama sözdizimi yerine standart kelimeler içerir.[1]

İçerik yönetim sistemlerinin gelişmesiyle bir metin kodlama bilgisi olmadan kullanıcılar tarafından biçimlendirilebilir. Geliştirilen editör eklentileri (örneğin klasik editör veya Gutenberg editör) yazılan bir metnin biçimlendirilmesine olanak tanır. İçerik üreticileri bir metne kalınlık (strong), bağlantı (hyperlink), başlık (title) vb. işaretlemeler yapabilir.

İşaretleme dili örnekleri

Bugün bilişim dünyasında en bilinen örneği HTML’dir. Diğer bilinen örnekler arasında, TeX, LaTeX, XML, SGML sayılabilir.


[1] “Markup Language Definition – TechTerms.” 1 Haz. 2011, https://techterms.com/definition/markup_language. Erişim tarihi: 11 Ağu. 2022.

Flask nedir, ne için kullanılır?

0

Flask, Python programlama dilinde uygulama geliştirmek için kullanılan bir küçük ölçekli[1] bir web çerçevesi modülüdür. Web uygulamalarını kolayca geliştirmeyi sağlar.

Web çerçeveleri web uygulaması geliştiricilerinin protokol, iş parçacığı yönetimi vb. gibi düşük düzeyli ayrıntılar hakkında endişelenmeden uygulamalar yazmasına olanak tanıyan bir kitaplıklar ve modüller koleksiyonunu temsil eder.

2019’da Youtube’da yayınlanan bir Flask eğitimi

Flask nedir?

Flask, Python ile yazılmış bir web uygulama çerçevesidir. İlk olarak Poocco adlı uluslararası Python meraklılarından oluşan bir ekibi yöneten Armin Ronacher tarafından geliştirildi. Flask, Werkzeg WSGI araç takımına ve Jinja2 şablon motoruna dayanmaktadır. Her ikisi de Pocco projeleridir.

Flask ne işe yarar?

Flask, mantıklı varsayılanlarla yapılandırma ve kurallar sağlar. Flask, Python’da web uygulamaları oluşturmayı kolaylaştıran kullanışlı araçlar ve özellikler sağlayan küçük ve hafif bir Python web çerçevesidir. Yalnızca tek bir Python dosyası kullanarak hızlı bir şekilde bir web uygulaması oluşturabileceğiniz için geliştiricilere esneklik sağlar. Flask yeni geliştiriciler için daha erişilebilir bir çerçevedir. Peki Flash kullanarak başka neler yapılabilir?

  1. Web Uygulamaları Oluşturma: Flask, temel olarak web uygulamalarını geliştirmek için tasarlanmıştır. Web siteleri ve web tabanlı hizmetler oluşturabilirsiniz.
  2. Rutin Yönlendirme: Flask, URL’leri belirli işlevlere yönlendirmenizi sağlar. Kullanıcılar farklı URL’leri açtığında ilgili işlevlerin çalışmasını sağlar.
  3. Dinamik İçerik Üretimi: Flask, Jinja2 adlı bir şablon motoru kullanarak dinamik içerik oluşturmanıza olanak tanır. Bu sayede HTML sayfalarını verilerle doldurabilirsiniz.
  4. Form İşleme ve Doğrulama: Web formları oluşturabilir, kullanıcıların gönderdiği verileri alabilir ve doğrulayabilirsiniz.
  5. Veritabanı Entegrasyonu: Flask, SQLAlchemy gibi veritabanı araçlarını entegre ederek veritabanıyla etkileşimde bulunmanıza yardımcı olabilir.
  6. Web Güvenliği: Flask, Cross-Site Scripting (XSS) ve Cross-Site Request Forgery (CSRF) gibi yaygın web güvenlik saldırılarına karşı koruma sağlayan bazı özelliklere sahiptir.
  7. WSGI Uyumlu: Flask, Web Server Gateway Interface (WSGI) uyumlu olduğu için farklı WSGI uyumlu sunucularla sorunsuz bir şekilde çalışabilir.
  8. Eklentiler ve Genişletilebilirlik: Flask, ihtiyaca göre özellikler eklemek için eklentilere izin verir. Bu sayede projenizi istediğiniz şekilde özelleştirebilirsiniz.

Özellikler

Flask URL yönlendirme, şablon motoru gibi birçok özelliğe sahiptir. Bir WSGI[2] web uygulaması çerçevesidir. Flask’ın öne çıkan özellikleri şunlardır:

  1. Hafif ve Esnek: Flask, temel işlevleri sunarken gereksiz karmaşıklığı ortadan kaldırmak için tasarlanmıştır. Bu sayede geliştiriciler, uygulama yapısını ihtiyaçlarına uygun şekilde oluşturabilirler.
  2. Minimalist Tasarım: Flask, temel işlevleri sağlayan bir çekirdek (core) yapısına sahiptir. Diğer ihtiyaç duyulan özellikler, “extension” adı verilen eklentiler aracılığıyla uygulamaya eklenir.
  3. Jinja2 Şablon Motoru: Flask, Jinja2 adlı güçlü bir şablon motoru kullanır. Bu, HTML sayfalarını dinamik verilerle doldurmayı kolaylaştırır.
  4. Rutin Yönlendirme: Flask, URL’leri işlevlere (“view functions”) yönlendirmek için bir yönlendirme sistemi sunar. Bu, farklı sayfaların ve işlevlerin belirli URL’lere atanmasını sağlar.
  5. Örnek Uygulama Sunucusu: Flask, geliştirme aşamasında entegre bir sunucu sunar. Bu sayede uygulamanızı hızlıca test edebilirsiniz.
  6. WSGI Uyumlu: Flask, Web Server Gateway Interface (WSGI) uyumlu olduğu için farklı WSGI uyumlu sunucularla (örneğin Gunicorn veya uWSGI) sorunsuz çalışabilir.
  7. Genişletilebilirlik: Flask, özelliklerini ihtiyaca göre genişletmek için eklentilere izin verir. Bu, daha fazla özelliği ihtiyaca göre eklemenizi veya çıkarmanızı kolaylaştırır.
  8. ORM Desteği (Opsiyonel): Flask, SQLAlchemy gibi popüler nesne ilişkisel eşleme (Object-Relational Mapping – ORM) araçlarıyla entegre çalışabilir.
  9. Form İşleme ve Doğrulama: Flask, web formlarını kolayca oluşturmanıza ve doğrulamanıza yardımcı olan araçlar sağlar.
  10. Güvenlik Özellikleri: Flask, Cross-Site Scripting (XSS) ve Cross-Site Request Forgery (CSRF) gibi yaygın web güvenlik saldırılarına karşı koruma sağlamak için özellikler içerir.
  11. Dökümantasyon ve Topluluk Desteği: Flask’in kapsamlı ve kullanıcı dostu bir dökümantasyonu vardır. Ayrıca Flask’e odaklanmış geniş bir geliştirici topluluğu bulunmaktadır.
  12. Veritabanı Desteği: Flask, veritabanıyla çalışmayı kolaylaştırmak için SQLAlchemy gibi popüler veritabanı araçlarını entegre edebilir.

Dipnotlar


[1] Flask’a genellikle bir mikro çerçeve (microframework) denir. Uygulamanın özünü basit ve ölçeklenebilir tutmak için tasarlanmıştır. Mikro, Flask çerçevesinin basit ama genişletilebilir olduğu anlamına gelir. Tüm kararları verebilirsiniz: hangi veritabanını kullanacağınız, bir ORM istiyor musunuz vs, Flask sizin için karar vermez.

[2] Web Sunucusu Ağ Geçidi Arabirimi (Web Server Gateway Interface)

Web çerçevesi (web framework) nedir, ne işe yarar?

0

Birkaç farklı web uygulamasına bakarsak, yinelenen birçok özellik olduğunu görebiliyoruz. Birçoğunun kullanıcı doğrulaması var, işleyen sayfaları var, veritabanlarına bağlanıyorlar. Ayrıca göz gezdirebileceğimiz profilleri ve hepsinin stilize edilmiş bilgi beslemeleri var.

Bir yazılımcı tüm bu mantığı inşa etmek istediğinde bunu kendisi gerçekleştirebilirdi. Ancak, bu kadar zaman harcamak yerine vakit tasarrufu sağlayabileceği pek çok araç da mevcut.

İlave olarak bir yazılımcı uygulamalar oluşturduğunda çoğu zaman kodların daha verimli olmasını ve diğer geliştiricilerin kodumuzu anlamasına yardımcı olacak belirli şekillerde biçimlendirmek ister. Web çerçeveleri, uygulamalarda bir yapı elde etmeye yardımcı olur ve fazladan fazla çalışma yapmadan bunlara eklenebilecek ek özellikler sağlar. Çerçeveler, yapılandırma ayrıntıları yerine özelliklere odaklanmak için bize bir başlangıç ​​noktası sağlar.[1]

Web çerçevesi nedir?

Web çerçevesi (İngilizce: web framework) veya web uygulama çerçevesi (İngilizce kısaltma WAF) web hizmetleri, web kaynakları ve web API’leri dahil olmak üzere web uygulamalarının geliştirilmesini desteklemek için tasarlanmış bir yazılım çerçevesidir. Web çerçeveleri, World Wide Web üzerinde web uygulamaları oluşturmak ve dağıtmak için standart bir yol sağlar. Web çerçeveleri, web geliştirmede gerçekleştirilen ortak faaliyetlerle ilişkili ek yükü otomatikleştirmeyi amaçlar. Örneğin, birçok web çerçevesi veritabanı erişimi, şablon oluşturma çerçeveleri ve oturum yönetimi için kitaplıklar sağlar ve bunlar genellikle kodun yeniden kullanımını destekler. Genellikle dinamik web sitelerinin geliştirilmesini hedefleseler de statik web sitelerine de uygulanabilirler.

Gelişimi

World Wide Web’in tasarımı dinamik olmadığından ilk hiper metinler, web sunucularında yayınlanan elle kodlanmış HTML metin dosyalarından oluşuyordu. Yayınlanan sayfalarda yapılacak her türlü değişiklik, sayfaların yazarı tarafından yapılmalıydı. 1993 yılında, kullanıcı girdilerini yansıtan dinamik bir web sayfası sağlamak için harici uygulamaları web sunucularıyla arayüzlemek için Ortak Ağ Geçidi Arayüzü (CGI) standardı tanıtıldı.

Örnekler

  • Flask
  • Ruby on Rails
  • Django
  • Angular
  • ASP.NET
  • METEOR
  • Laravel
  • Express
  • Spring
  • Play
  • Codelgniter

Dipnotlar


[1] “What is a Web Framework, and Why Should I use one?.” https://welearncode.com/whatarefrontendframeworks/. Erişim tarihi: 10 Ağu. 2022.

header.php dosyası nedir, nerede bulunur?

0

Web sitenizi Google ürünleri ile (Analytics, Adsense, Search Console vs.) entegre etmek isteyebilir ve bu nedenle web sitenizde header.php dosyasına kod eklemeniz gerekebilir. Eğer header.php dosyasının nerede olduğunu bilmiyorsanız bu yazı size yardımcı olacaktır.

header.php dosyası nedir?

Header ‘başlık’ anlamına gelir. PHP programlama dilinde başlık, ham bir HTTP başlığı göndermek için yerleşik bir PHP işlevidir. HTTP işlevleri, daha fazla çıktı göndermeden önce web sunucusu tarafından istemciye veya tarayıcıya gönderilen bilgileri değiştiren işlevlerdir. PHP’deki header() işlevi, bir istemciye veya tarayıcıya ham bir HTTP başlığı gönderir.

header.php dosyası 60 satırlık bir koddan oluşur. Birinci satırda dosyayı tanımlayan bir fonksiyon yer alır.

1

Daha sonra HTML belgesi tanımlanır ve <head> ögesi açılır.

1 <!DOCTYPE html>
2 <html itemscope itemtype="referanslinki" <?php language_attributes(); ?>>
3 <head>
4  <meta charset="">
5  <link rel="profile" href="">
6  <link rel="pingback" href="">
7  <?php wp_head(); ?>
8 />
9 
10 </head>

WordPress web sitelerinde header.php dosyası nerede yer alır?

Eğer sunucu üzerinden header.php dosyasına ulaşmaya çalışıyorsanız şu sıralamayı takip edin:

public_html > wp-content > themes > temaadiniz > header.php

WP Dosya Yöneticisi eklentisi kullanarak header.php dosyasına ulaşmaya çalışıyorsanız aynı sıralamayı takip edebilirsiniz.

Eğer header.php dosyasına doğrudan tema dosyaları üzerinden ulaşmak isterseniz:

Görünüm > Tema dosya düzenleyicisi > Tema Üst Bölümü (header.php) sıralamasını takip edebilirsiniz.

Tema dosya düzenleyicisi size yalnızca tema ile ilgili dosyaları gösterir. Veritabanınızda yer alan diğer dosyalara ulaşmak için sunucu adresine gitmeniz veya bir dosya yöneticisi eklentisi kullanmanız gerekiyor.

wp_config.php dosyası nedir, ne işe yarar?

0

wp_config.php, bir WordPress web sitesinin dosya dizininde bulunan bir PHP dosyasıdır. WordPress kurulumunuzdaki en önemli dosyalardan biri olan wp-config.php, bir web sitesinin veritabanı bağlantı bilgileri gibi temel yapılandırma ayrıntılarını içerir. Genel olarak 100 satırlık bir kod barındırır.

WordPress’i ilk indirdiğinizde wp-config.php dosyası eklenmez. WordPress kurulum işlemi, kurulum sürecinde verdiğiniz bilgilere göre sizin için bir wp-config.php dosyası oluşturacaktır.

İçeriği

wp_config.php dosyası, veritabanı adı (DB_NAME), veritabanı kullanıcısı (DB_USER), veritabanı şifresi (DB_PASSWORD), veritabanı sunucusu (DB_HOST) ve veritabanı tabloları oluştururken kullanılacak veritabanı karakter kümesini belirten (DB_CHARSET) ve veritabanı harmanlayan (DB_COLLATE) hakkında bilgileri içerir. Bunlar define fonksiyonu ile tanımlanır. Örneğin:

define( 'DB_NAME', 'veritabani-adi' );

Düzenlenmesi

Bir WordPress web sitesine dil çeşitliliği sağlamak için wp_config dosyasını düzenlemeniz gerekebilir. Eğer temel kod bilginiz varsa bu dosya üzerinde düzenleme yapmadan önce bir yedekleme alabilirsiniz.

Geliştirici olmayan birinin wp-config.php dosyasını düzenlemesi pek olası değildir, teknik bir kişi veya web barındırıcınız tarafından sağlanan sorun giderme adımlarına göre hareket edilmesi daha faydalı olacaktır.

Apache HTTP Sunucusu

0

Apache HTTP Sunucusu (İngilizce: Apache HTTP Server) Apache Lisansı 2.0 sürümünün gerektiği koşullar altında yayınlanan ücretsiz ve açık kaynaklı bir çapraz platform web sunucusu yazılımıdır. Apache, Apache Software Foundation’ın himayesinde açık bir geliştirici topluluğu tarafından geliştirilir ve güncellenir.

Apache HTTP Sunucusu örneklerinin büyük çoğunluğu bir Linux dağıtımında çalışır, ancak mevcut sürümler ayrıca Microsoft Windows, OpenVMS, ve çok çeşitli Unix benzeri sistemlerde de çalışır. Geçmiş sürümler ayrıca NetWare, OS/2 ve diğer işletim sistemlerinde, ana bilgisayarlara bağlantı noktaları dahil üzerinde çalışıyordu.

Başlangıçta NCSA HTTPd sunucusuna dayanan Apache’nin geliştirilmesi, NCSA kodu üzerindeki çalışmaların durmasından sonra 1995’in başlarında başladı. Apache, World Wide Web’in ilk büyümesinde önemli bir rol oynadı ve baskın HTTP sunucusu olarak NCSA HTTPd’yi hızla geçti. 2009’da 100 milyondan fazla web sitesine hizmet veren ilk web sunucusu yazılımı oldu.

Popülerliği

Mart 2022 itibarıyla Netcraft, Apache’nin en yoğun web sitelerinin %23,04’üne hizmet verdiğini, Nginx’in ise %22,01’ine hizmet ettiğini tahmin ediyor. %19,53 ile Cloudflare ve %5,78 ile Microsoft Internet Information Services ilk dördü tamamladı. Netcraft’ın bazı diğer istatistikleri için Nginx, Apache’nin önündedir. Haziran 2022’deki tüm web sitelerinin W3Techs incelemesine göre Apache %31,4 ile ikinci, Nginx %33,6 ile birinci, Cloudflare Server %21,6 ile üçüncü sırada yer aldı.

.htaccess dosyası Apache üzerinden aktif hale getirilir. Bu işlem genellikle sunucu yapılandırmasında (host configuration) gerçekleştirilir.

Yeniden yazma motoru (rewrite engine)

0

Web uygulamalarında yeniden yazma motoru (İngilizce: rewrite engine), URL’lerde yeniden yazma işlemini gerçekleştiren ve görünümlerini değiştiren bir yazılım bileşenidir. Bu değişikliğe URL yeniden yazma denir. Bir web uygulaması içinde URL eşleme veya yönlendirme uygulamanın bir yoludur.

Motor tipik olarak bir web sunucusunun veya web uygulaması çerçevesinin bir bileşenidir. Yeniden yazılan URL’ler (bazen kısa, güzel veya süslü URL’ler, arama motoru dostu – SEF URL’leri veya bilgi işaretleri olarak bilinir) web sayfalarına daha kısa ve daha alakalı görünen bağlantılar sağlamak için kullanılır. Teknik, bir web sayfası oluşturmak için kullanılan dosyalar ile dış dünyaya sunulan URL arasına bir soyutlama katmanı ekler.

Kullanımı

Dinamik içeriğe sahip web siteleri, sorgu dizesi parametrelerini kullanarak sunucudan sayfalar oluşturan URL’leri kullanabilir. Bunlar genellikle bir alt dizin hiyerarşisine sahip bir sitedeki statik sayfaların URL’lerine benzeyecek şekilde yeniden yazılır. Örneğin, bir ADT sayfasının URL’si şöyle olabilir:

https://advdyn.com/w/index.php?title=Sayfa_basligi

Ancak şu şekilde de yazılabilir:

https://advdyn.com/yazi/Sayfa_Basligi

Faydaları

Yeniden yazma motoru web uygulamalarında çok çeşitli faydalar sağlar. Örneğin tarih sırasına göre arşivleme yapmak isterseniz ve bunun tüm blog gönderilne uygulanmasını isterseniz yeniden yazma motoru ve bu motoru çalıştıran .htaccess dosyası size fayda sağlayabilir. Örneğin:

http://www.orneksite.com/Blog/06/04/02/

.htaccess dosyası nedir, ne için kullanılır?

0

Htaccess, Hypertext Access (Hiper Metin Erişimi) kısaltmasıdır. Apache tabanlı web sunucuları tarafından kullanılan bir yapılandırma dosyasıdır.

Yapılandırma dosyaları, bir programın veya bu durumda sunucunun başlangıç ​​ayarlarını yapılandırır. Bu, .htaccess dosyasının sunucunun belirli bir şekilde davranmasını sağlamak için kullanılabileceği anlamına gelir. Her işlev temelde sunucuya ne yapacağını söyleyen bir metin satırı veya koddur. .htaccess dosyasındaki kodu ekleyerek veya değiştirerek işlevsellik ekleyebilir veya değiştirebilirsiniz.

# BEGIN WordPress
# "BEGIN WordPress" ve "END WordPress" arasındaki yönergeler (satırlar)
# dinamik olarak oluşturulmuştur ve sadece WordPress süzgeçleri ile düzenlenmelidir.
# Bu işaretler arasındaki yönergelerde yapılan değişiklikler üzerine yazılacaktır.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

.htaccess dosyası ne için kullanılır?

.htaccess ile ilgili pek çok olasılık vardır, örneğin şunu yapmak için kullanabilirsiniz:

  • Sitenizi bir şifre ile koruyabilirsiniz.
  • Özel yapılmış bir hata sayfası oluşturabilirsiniz.
  • Ziyaretçileri başka bir sayfaya yönlendirebilirsiniz.

Htaccess çok güçlü bir araçtır. Nokta ile başladığı için biraz özeldir. Bu, bazı FTP programlarında gizli olduğu ve genellikle örneğin htaccess.txt olarak yeniden adlandırmadan bilgisayarınızda düzenleyemeyeceğiniz anlamına gelir.

. htaccess dosyaları (veya “dağıtılmış yapılandırma dosyaları”), yapılandırma değişikliklerinin dizin bazında yapılması için bir yol sağlar. Bir veya daha fazla yapılandırma yönergesi içeren bir dosya belirli bir belge dizinine yerleştirilir ve yönergeler bu dizine ve tüm alt dizinlerine uygulanır.

Nasıl düzenlenir?

.htaccess dosyası genel olarak bir WordPress web sitesinde dil çeşitliliği sağlamak için değişiklik gerektirebilir. Eğer WP Dosya Yöneticisi ile düzenlemek isterseniz bu pek mümkün olmayacaktır. .htaccess dosyasını düzenlemek isterseniz Yoast SEO eklentisine başvurabilirsiniz. Panelde Yoast SEO’ya tıkladığınızda Araçlar bölümünden Dosya Düzenleyicisi’ne tıklayın ve .htaccess dosyasını düzenleyin. Düzenleme yapmadan önce mutlaka yedeğini alın. Aksi halde bazı sorunlarla karşılaşmanız mümkündür.

C++ (programlama dili) nedir, ne için kullanılır?

0

C++ programlama dili nedir, ne için kullanılır? C++ nasıl bir tasarım felsefesine sahiptir? C++ nesne yönelimli bir programlama dili midir? C++ öğrenmeye nereden başlamak gerekir? Bu yazıda yukarıda geçen sorulara yanıt verilmesi amaçlandı.

Giriş

Tanım

C++ genel kullanım amaçlı bir programlama dilidir. Danimarkalı bilgisayar bilimcisi Bjarne Stroustrup tarafından C programlama dilinin uzantısı olarak geliştirilmiştir. Dil zamanla önemli ölçüde genişledi ve modern C++ artık düşük seviyeli bellek işleme olanaklarına ek olarak nesne yönelimli, genel ve işlevsel özelliklere sahip olmayı başardı.

C++ programlama dili neredeyse her zaman derlenmiş bir dil olarak uygulanır ve birçok satıcı, Free Software Foundation, LLVM, Microsoft, Intel, Oracle ve IBM dahil olmak üzere C++ derleyicileri sağlar, bu nedenle birçok platformda kullanılabilir.

Standardizasyon

C++, Uluslararası Standardizasyon Örgütü (ISO) tarafından standartlaştırılmıştır ve en son standart sürüm ISO tarafından Aralık 2020’de ISO/IEC 14882:2020 (gayri resmi olarak C++20 olarak bilinir) olarak onaylanmış ve yayınlanmıştır.

Tarihçe

1979’da Danimarkalı bir bilgisayar bilimcisi olan Bjarne Stroustrup, C++’ın atası olan “C with Classes” üzerinde çalışmaya başladı. Yeni bir dil yaratma motivasyonu, Stroustrup’un doktora tezi için programlama deneyiminden kaynaklandı.

Stroustrup, Simula’nın büyük yazılım geliştirme için çok yararlı özelliklere sahip olduğunu, ancak dilin pratik kullanım için çok yavaş olduğunu, BCPL’nin ise hızlı ancak büyük yazılım geliştirme için uygun olamayacak kadar düşük olduğunu savundu. Stroustrup, AT&T Bell Laboratuarlarında çalışmaya başladığında, dağıtık bilgi işlem açısından UNIX çekirdeğini analiz etme sorunu yaşadı.

Doktora deneyimini hatırlayan Stroustrup, Simula benzeri özelliklerle C dilini geliştirmek için yola çıktı. C dili genel amaçlı, hızlı, taşınabilir ve yaygın olarak kullanıldığı için seçildi. C ve Simula’nın etkilerinin yanı sıra, ALGOL 68, Ada, CLU ve ML dahil olmak üzere diğer diller de bu yeni dili etkiledi.

Kullanımı

C++, sistem programlamaya ve gömülü kaynakları kısıtlı yazılımlara ve büyük sistemlere entegre etmeye yönelik olarak tasarlanmıştır ve tasarımında öne çıkan özellikler performans, verimlilik ve kullanım esnekliğidir. C++ aynı zamanda, yazılım altyapısı ve masaüstü uygulamaları, video oyunları, sunucular (örn. kritik uygulamalar (örneğin telefon anahtarları veya uzay sondaları) gibi alanlarda kullanılır.

Bir programlama dili öğrenmeye başlamadan önce onun yetenekleri hakkında bilgi sahibi olmalı ve ne için kullanıldığına bakmalısınız. C++, güçlü bir genel amaçlı programlama dilidir. İşletim sistemleri, tarayıcılar, oyunlar vb. geliştirmek için kullanılabilir.[1] C++, prosedürel, nesne yönelimli, işlevsel vb. gibi farklı programlama yollarını destekler. Bu, C++’ı esnek olduğu kadar güçlü kılar.

C++, oyun geliştirmede en yaygın kullanılan programlama dillerinden biridir. Örneğin C++ şu oyunları geliştirmek için kullanılmıştır: World of Warcraft, Counter-Strike ve StarCraft gibi oyunlar, Unreal Engine gibi oyun motorları ve Xbox, PlayStation ve Nintendo Switch dahil olmak üzere oyun konsolları.[2]

Tasarım felsefesi

C++ programlama dili var olduğu günden bu yana bir dizi ilke tarafından yönlendirilmiştir: Bunlar aşağıda şu şekilde sıralanabilir:

  • Gerçek problemler tarafından yönlendirilmeli ve özellikleri gerçek dünya programlarında hemen kullanışlı olmalıdır.
  • Her özellik uygulanabilir olmalıdır (bunu yapmanın oldukça açık bir yolu ile).
  • Programcılar kendi programlama stillerini seçmekte özgür olmalı ve bu stil C++ tarafından tam olarak desteklenmelidir.
  • Programları ayrı, iyi tanımlanmış bölümler halinde organize etmek için olanaklar sağlanmalı ve ayrı ayrı geliştirilmiş bölümleri birleştirmek için olanaklar sağlamalıdır.
  • Tip sisteminde örtülü ihlal yok (ancak açık ihlallere izin verilir; yani programcı tarafından açıkça talep edilenler).
  • Kullanıcı tarafından oluşturulan türlerin, yerleşik türlerle aynı desteğe ve performansa sahip olması gerekir.
  • Kullanılmayan özellikler, oluşturulan yürütülebilir dosyaları olumsuz etkilememelidir (ör. daha düşük performansta).
  • C++ altında bir dil olmamalıdır (birleştirme dili hariç).
  • Programcının amacı bilinmiyorsa, manuel kontrol sağlayarak programcının bunu belirlemesine izin verilmelidir.

Nereden başlamak gerekir?

C++ için W3Schools, Codeacademy ve freeCodeCamp gibi eğitim hizmetleri üzerinden ilk eğitimler başlatılabilir. Ancak bu tür eğitim hizmetlerinden istifade etmek için öncelikle temel düzeyde bir İngilizce bilmeniz gerekir. Eğer Türkçe dersler almak isterseniz Youtube’da Yazılım Bilimi kanalını ziyaret edebilirsiniz.

Dipnotlar


[1] “Learn C++ Programming – Programiz.” https://www.programiz.com/cppprogramming. Erişim tarihi: 10 Ağu. 2022.

[2] “What is C++ used for? – Codecademy.” 10 May. 2021, https://www.codecademy.com/resources/blog/whatiscplusplususedfor/. Erişim tarihi: 10 Ağu. 2022.

Python (programlama dili) nedir? Ne için kullanılır?

0

Python hakkında temel düzeyde bilgi sahibi olmak için doğru yerdesiniz! Python öğrenmeye başlamadan önce aşağıdaki makaleye göz gezdirmeniz, Python hakkında fikir sahibi olmanız, yeteneklerinin farkında olmanız ve ne için kullanıldığını bilmenizde fayda var. Peki Python programlama dili nedir? Python ne için ve hangi alanlarda kullanılır?

Giriş

Son yıllarda hazırlanan programlama dilleri listelerinde Python en popüler ve en çok talep gören diller arasında gösteriliyor. Son olarak 3.10.6 sürümü yayınlanan (2 Ağustos 2022) Python günümüzde ABD’nin Delaware Eyaleti’nde bulunan Python Yazılım Vakfı tarafından geliştirilmeye devam edilmektedir.[1][2]

Piyasaya ücretsiz olarak sunulan temel Python sürümünü üretir. Buna Python dilinin kendisi, standart kitaplıkları ve belgeleri, yükleyiciler, kaynak kodu, eğitim materyalleri ve çeşitli araçlar ve uygulamalar dahildir.

Python nedir, nasıl ortaya çıktı?

Python yüksek seviyeli, yorumlanmış ve genel kullanım amaçlı bir programlama dilidir. Dinamik olarak yazılan ve nesne yönelimli bir programlama dili olan Python ilk olarak 1980’li yıllarda geliştirilmeye başlandı[3] ve 1991 yılında piyasaya sürüldü. Çeşitli sürümleri olmakla birlikte Python günümüzde en çok kullanılan programlama dilleri arasındadır.

Python sürüm geçmişi

  • Python 2.0 (16 Ekim 2000)
  • Python 3.0
  • Python 3.8.13
  • Python 3.9.13
  • Python 3.10.5
  • Python 3.10.6 (2 Ağustos 2022)

Python ne için kullanılır?

Python, genellikle web siteleri ve yazılımlar oluşturmak, görevleri otomatikleştirmek ve veri analizi yapmak için kullanılan bir bilgisayar programlama dilidir. Python genel amaçlı bir dildir, yani çeşitli farklı programlar oluşturmak için kullanılabilir. Herhangi bir özel sorunu gidermek için değildir.[4]

Python çok kararlı, esnek ve basit bir programlama dili olduğundan, çeşitli makine öğrenimi (ML) ve yapay zeka (AI) projeleri için mükemmeldir. Aslında Python, veri bilimcileri arasında en sevilen diller arasındadır ve birçok Python makine öğrenimi ve AI kitaplığı ve paketi mevcuttur.

Yapay zeka ve makine öğrenimi gibi, veri analitiği de Python programlamasını kullanan, hızla gelişen bir başka alandır. Her zamankinden daha fazla veri yarattığımız bir zamanda, bilgiyi toplayabilecek, işleyebilecek ve düzenleyebilecek kişilere ihtiyaç var.

Veri görselleştirme bir başka popüler ve gelişen ilgi alanıdır. Yine, Python’un birçok güçlü yönüne giriyor. Esnekliği ve açık kaynaklı olmasının yanı sıra Python, her türlü özelliğe sahip çeşitli grafik kitaplıkları sunar.

Python söz dizimi

Python, kolayca okunabilen bir dildir. Biçimlendirmesi görsel olarak düzenlidir ve diğer dillerin noktalama işaretlerini kullandığı yerlerde genellikle İngilizce anahtar kelimeler kullanır. Diğer birçok dilden farklı olarak, blokları sınırlandırmak için küme parantezleri kullanmaz ve ifadelerden sonra noktalı virgüllere izin verilir, ancak nadiren kullanılır. C veya Pascal’dan daha az sözdizimsel istisnası ve özel durumu vardır.

Girinti (Indentation)

Python, blokları sınırlandırmak için küme parantezleri veya anahtar sözcükler yerine boşluk girintisini kullanır. Girinti artışı belirli ifadelerden sonra gelir; girintideki azalma, mevcut bloğun sonunu belirtir.] Böylece programın görsel yapısı, anlamsal yapısını doğru bir şekilde temsil etmektedir. Bu özellik bazen futbolda olduğu gibi ofsayt kuralı olarak adlandırılır. Diğer bazı diller girintiyi bu şekilde kullanır; ancak çoğu durumda girintinin anlamsal bir anlamı yoktur. Önerilen girinti boyutu dört boşluktur.

Açıklamalar ve kontrol akışı

  • assignment
  • if
  • for
  • while
  • try
  • raise
  • class
  • def
  • with
  • break
  • continue
  • del
  • pass
  • assert
  • yield
  • return
  • import

Atama ifadesi (=), bir adı ayrı, dinamik olarak tahsis edilmiş bir nesneye referans olarak bağlar. Değişkenler daha sonra herhangi bir zamanda herhangi bir nesneye geri tepebilir. Python’da bir değişken adı, sabit bir veri türü olmayan genel bir başvurudur; ancak, her zaman bir türe sahip bir nesneye başvurur. Buna, her bir değişkenin yalnızca belirli bir türden bir değer içerebileceği statik olarak yazılan dillerin aksine dinamik yazma denir.

Dipnotlar


[1] “Python Software Foundation.” https://www.python.org/psf/. Erişim tarihi: 10 Ağu. 2022.

[2] Bu vakıf piyasaya ücretsiz olarak sunulan temel Python sürümünü üretir. Buna Python dilinin kendisi, standart kitaplıkları ve belgeleri, yükleyiciler, kaynak kodu, eğitim materyalleri ve çeşitli araçlar ve uygulamalar dahildir.

[3] Python ABC programlama dilinin halefidir.

[4] “What Is Python Used For? A Beginner’s Guide – Coursera.” 29 Tem. 2022, https://www.coursera.org/articles/whatispythonusedforabeginnersguidetousingpython. Erişim tarihi: 9 Ağu. 2022.