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

Ana Sayfa Blog Sayfa 10

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

0

Programlama dillerini anlama isteği kullanıcıları her geçen gün yeni arama motoru sorgulamaları yapmaya sevk ediyor. Peki yazılım trendlerinde üst sıralarda yer alan Rust programlama dili nedir? Yazılımcılar Rust’ı ne için kullanıyor?

Rust programlama dili nedir?

Yazılımda Rust çoklu paradigmalı, genel amaçlı bir programlama dilidir. Temel olarak statik bir dil olarak tanımlanmaktadır.[1] Rust paradigması performansı, tip güvenliğini ve eşzamanlılığı vurgular. Rust, diğer bellek güvenli dillerde bulunan bir çöp toplayıcı veya referans sayımının kullanılmasına gerek kalmadan, tüm başvuruların geçerli belleğe işaret ettiği bellek güvenliğini zorlar. Aynı anda bellek güvenliğini sağlamak ve eşzamanlı veri yarışlarını önlemek için Rust‘ın ödünç alma denetleyicisi, derleme sırasında bir programdaki tüm referansların nesne ömrünü ve değişken kapsamını izler.

“Statik olarak yazılan bazı diller, programcıya büyük bir yük getirir ve değişkenin türünü birden çok kez tekrar etmelerini gerektirir, bu da okunabilirliği ve yeniden düzenlemeyi engeller. Statik olarak yazılan diğer diller, tüm program türü çıkarımına izin verir. İlk geliştirme sırasında kullanışlı olmakla birlikte, bu, türler artık eşleşmediğinde derleyicinin yararlı hata bilgileri sağlama yeteneğini azaltır. Rust, bu stillerin her ikisinden de öğrenir ve işlev gövdelerinin içinde tür çıkarımına izin verirken, açık türlere sahip olmak için işlev argümanları ve sabitler gibi üst düzey öğeleri gerektirir.“[2]

Rust ne için kullanılır?

Rust, sistem programlama için popülerdir, ancak aynı zamanda işlevsel programlama yapıları dahil olmak üzere üst düzey özellikler sunar. Rust‘ın diğer genel amaçlı sistem programlama dilleri gibi çeşitli kullanım durumları vardır. Buna programlama, oyun geliştirme, web geliştirme, veri bilimi ve sanal gerçeklik dahildir. Ayrıca blok zinciri geliştirme için mükemmel bir çerçeve sağlar.[3]

Rust, donanıma ve belleğe doğrudan erişime sahip düşük seviyeli bir programlama dilidir ve bu da onu gömülü ve yalın donanım geliştirme için harika bir çözüm haline getirir. İşletim sistemleri veya mikrodenetleyici uygulamaları yazmak için Rust kullanılabilir.[4]

Dipnotlar


[1] “Why You Should Use the Rust Programming Language – Serokell.” 19 Ağu. 2020, https://serokell.io/blog/rustguide. Erişim tarihi: 9 Ağu. 2022.

[2] “What is Rust and why is it so popular? – Stack Overflow Blog.” 20 Oca. 2020, https://stackoverflow.blog/2020/01/20/whatisrustandwhyisitsopopular/. Erişim tarihi: 9 Ağu. 2022.

[3] “Who Uses Rust?.” 9 Şub. 2022, https://careerkarma.com/blog/whousesrust/. Erişim tarihi: 9 Ağu. 2022.

[4] “Why is Rust programming language so popular? – CodiLime.” 25 Mar. 2022, https://codilime.com/blog/whyisrustprogramminglanguagesopopular/. Erişim tarihi: 9 Ağu. 2022.

İçerik yönetimi nedir, ne anlama geliyor?

0

Web ile bağlantılı bir konu olan içerik yönetimi iş akışının 90’lı yıllardan sonra büyük oranda ve hızla dijitalleşmesi ile paralel olarak gelişmeye başladı. İçerik yönetimine bağlı olarak günümüzde içerik yönetim sistemleri büyük önem kazandı. Peki bu iki kelimelik ifade gerçekte ne anlama geliyor?

İçerik yönetimi nedir?

İçerik yönetimi, kitap, dergi veya web sitesi gibi bir proje için kullanılacak metin ve resim gibi verileri oluşturma, koruma ve arşivleme sürecidir. Normalde bu tür projeler bir dizi farklı insanı içerir: içerik oluşturucular (yazarlar veya fotoğrafçılar gibi), editörler, gözden geçirenler, tasarımcılar vb. Büyük bir proje genellikle çeşitli aşamalarda birçok belgeye sahip olacaktır – erken taslaklar, yayın için onaylanmış materyaller, revizyona ihtiyaç duyan mevcut yayınlar, arşivlenmeye hazır eski materyaller vb.

İçerik yönetiminin amaçları nelerdir?

İçerik yönetiminin amacı, üzerinde kimin çalıştığı ve ne yapıldığı (veya yapılması gerektiği) dahil, bir projenin her parçasının durumunun takip edildiğinden emin olmaktır. Belirli bir parça üzerinde aynı anda birden fazla kişi çalışmak isteyebileceğinden, bir kişi onu kullanırken materyali “kilitlemek” ya da materyali “kilitlemek” için bir tür “versiyon kontrolü” (program kodunda olduğu gibi) kullanılmalıdır. Doğal olarak, ekip üyelerinin projenin belirli bölümleriyle bağlantılı olarak birbirleriyle iletişim kurmalarının bir yolu olmalı ve tüm üyeler önemli gelişmelerden haberdar edilmelidir.

Bir içerik yönetim sisteminin (CMS) etkinliğinin önemli bir ölçümü, iş akışını veya belgelerin üretim süreci boyunca hareketini ne kadar kolaylaştırdığı ile belirlenir. İş akışı, metin belgeleri veya multimedya kaynakları gibi materyallerin sisteme alınmasıyla başlar. Şu anda, kilit kullanıcılar ve rolleri (düzenleyici veya gözden geçiren gibi) belirlenir ve sistem, her görev tamamlandıktan sonra materyali otomatik olarak bir sonraki kişiye yönlendirebilir. Genellikle, ilerlemeler hakkında onları bilgilendirmek veya problemler konusunda onları uyarmak için mesajlar oluşturulur ve yöneticilere gönderilir.

Günümüzde web siteleri en yaygın büyük bilgi projeleridir ve bunları yönetmek oldukça güç olabilir. Genellikle, ses, video, animasyonlar ve bilgi beslemeleri gibi basılı projelerde bulunanların çok ötesinde multimedya materyalleri dahil edilir (bkz. RSS). Çoğu geleneksel yayından farklı olarak web siteleri, içerik yönetimi sürekli gözden geçirilir ve güncellenir.

Bir kez oluşturulduktan sonra, malzeme genellikle yeniden kullanılacak veya farklı projeler için yeniden kullanılacaktır. Bu nedenle, çoğu içerik yönetim sisteminin önemli bir parçası, malzemeyi daha sonra kullanılmak üzere kolayca aranabilir ve geri alınabilir kılan depodur. Kullanılma olasılığı daha düşük olan ancak yine de saklanması gereken (yasal nedenlerle olduğu gibi) materyaller ayrı bir arşivde saklanabilir (bkz. yedekleme ve arşiv sistemleri). Not: Dijital varlık yönetimi terimi bazen bu tür sistemler için de kullanılır.

İçerik yönetimi nasıl sağlanır?

İçerik yönetimi bir içerik yönetim sistemi ile sağlanır. İçerik yönetim sistemleri genellikle Java, Perl, Python veya PHP gibi dilleri kullanan bir çerçeve veya programlama arabirimi üzerine kuruludur. Ücretsiz ve açık kaynaklı alternatifler de dahil olmak üzere seçim yapabileceğiniz birçok ürün var. Bunlardan en çok bilineni 2021 yılı itibariyle 455 milyon web sitesi tarafından kullanılan WordPress’tir.[1] Alternatifleri arasında ise CMS Hub, Drupal, Joomla, Shopify, Prestashop, Magento, Webflow ve TYPO3 gibi içerik yönetim sistemleri yer alıyor.

Bazı projeler için ilginç bir alternatif, içerik yönetim sistemi olarak bir wiki kullanmaktır (bkz. wikiler ve Wikipedia). Özellikle metinsel içerik için, wiki’ler halihazırda yerleşik olarak revizyon takibine sahip olma avantajını sunar ve MediaWiki gibi tam ölçekli wiki’ler, içerik yönetimine yardımcı olmak için birçok ek özellik veya eklentiye sahiptir.


[1] “60+ WordPress Market Share & CMS Usage Statistics (2022).” https://www.envisagedigital.co.uk/wordpressmarketshare/. Erişim tarihi: 8 Ağu. 2022.

Analog bilgisayar nedir, çalışma prensibi nasıldır?

0

Çoğu doğal fenomen, doğası gereği dijital olmaktan ziyade analogdur (bkz. analog ve dijital). Ancak matematiksel yasaların doğadaki ilişkileri tanımlayabildiği gibi, bu ilişkiler de doğal kuvvetlerin matematiksel çözümler ürettiği bir model oluşturmak için kullanılabilir. Bu, tarihte analog bilgisayara yol açan temel iç görü olmuştur.

Analog ve dijital kavramlarına çoğunlukla otomotiv sektöründen aşinayız. Hız göstergesi de kapsayan bu bölüm eski araçlarda analog olarak tasarlanırken yeni araçlarda dijital olarak tasarlanıyor. Bu durum tasarımda da önemli gelişmeleri beraberinde getiriyor.

Bir analog makinede her sayı, değeri önceden belirlenmiş bir birimde ölçülen, söz konusu sayıya eşit olan uygun bir fiziksel nicelikle temsil edilir. Analog aynı zamanda dijital olmayan anlamına da gelmektedir.[1]

Vannevar Bush’un Diferansiyel Analizörü, analog hesaplama için çok önemli sonuçlar doğurdu.

Analog bilgisayar nedir?

Analog bilgisayar doğrudan ölçülebilir büyüklüklerle (voltajlar veya dönüşler gibi) temsil edilen sayılarla çalışan bir bilgisayar türüdür. En basit analog bilgisayarlar, geometrik oranları modelleyen fiziksel bileşenleri kullanır. Bilinen en eski analog bilgi işlem cihazı Antikythera düzeneğidir. MÖ 87 civarında Rodos adasında bilinmeyen bir bilim adamı tarafından inşa edilen bu cihaz, yeni aylar (sinodik ay) arasındaki aralığı mekanik olarak hesaplamak için hassas bir şekilde hazırlanmış bir diferansiyel dişli mekanizması kullandı.[2]

Diğer bir analog bilgisayar olan sürgülü hesap cetveli, 1970’lerde yerini elektronik hesap makinelerine bırakana kadar bilim adamlarının, mühendislerin ve öğrencilerin değişmez arkadaşı oldu. 17. yüzyılda basit biçimde icat edilen sürgülü cetvelin hareketli parçaları logaritmik oranlarda işaretlenerek hızlı çarpma, bölme, karekök çıkarma ve bazen trigonometrik fonksiyonların hesaplanmasına olanak tanır.

Bir sonraki fikir, mekanik hareketler arasında dinamik ilişkiler kuran analog cihazlar oluşturmayı içeriyordu. 19. yüzyılın sonlarında iki İngiliz bilim adamı, James Thomson ve kardeşi Sir William Thomson (daha sonra Lord Kelvin) diferansiyel denklemleri çözebilecek bir cihaz olan mekanik entegratörü geliştirdi. Bu cihazda kullanılan önemli bir yeni ilke, entegratörün çıktısının yeni bir girdi seti olarak geri beslendiği kapalı geri besleme döngüsüdür. Bu, bir denklemin değişkenlerinin kademeli olarak toplanmasına veya entegrasyonuna izin verdi. 1931’de Vannevar Bush, “diferansiyel analizör” adını verdiği daha karmaşık bir makineyi tamamladı. Özel şekillendirilmiş tekerlekler, diskler ve servo mekanizmalar kullanan altı mekanik entegratörden oluşan diferansiyel analizör, denklemleri altı bağımsız değişkene kadar çözebilir. Cihazın kullanışlılığı ve uygulanabilirliği bilinir hale geldikçe, bilimsel, mühendislik ve askeri kurumlarda çeşitli şekillerde hızla kopyalandı.

Dipnotlar


[1] “Analog Definition & Meaning – Merriam-Webster.” https://www.merriamwebster.com/dictionary/analog. Erişim tarihi: 8 Ağu. 2022.

[2] İlginç bir şekilde, diferansiyel dişlisi 1877’ye kadar yeniden keşfedilmeyecekti.

HTML elementler nelerdir, ne için kullanılırlar?

0

HTML elementleri (ögeler olarak da adlandırılır) HTML kodlama yapmak için gereklidir. Peki HTML elementleri nelerdir?

HTML bir biçimlendirme dili olarak tanımlanıyor olsa da aslında günümüzde bir programlama dilidir. Piyasaya sürüldüğü 1993 yılından bu yana kullanımı giderek yaygınlaştı. Günümüzde dahi HTML en çok kullanılan programlama dilleri arasında JavaScript’ten hemen sonra ikinci sırada yer almaktadır.[1] (Ayrıca bkz. 2022’de en çok kullanılan programlama dilleri nelerdir?) Bununla birlikte HTML/CSS programcıları diğer dillerin programcılarına kıyasla daha az kazanç sağlarlar.

Eğer HTML öğrenmek istiyorsanız öncelikle bu programlama dili hakkında temel seviyede bilgi sahibi olmalı ve HTML kullanarak neleri yapabileceğinizi ve neleri yapamayacağınızı bilmeniz gerekiyor.

HTML ne için kullanılır?

Hypertext Markup Language olarak tanımlanan HTML daha çok web belgesi üretmek ve belge içerisinde biçimlendirme yapmak için kullanılır. Eğer HTML’i CSS ve JavaScript ile kullanmayı öğrenirseniz bu çok daha verimli olur; böylece kullanıcı dostu arayüzler tasarlayabilirsiniz.

HTML bir belge UTI tarafından public.html olarak tanımlanır. Çoğu web sitesi, URL kısmında .html etiketine sahiptir. (Örnek: www.orneksite.com/2022/08/07/climate/senate-climate-law.html) Google’ın dizine ekleme botlarının en kolay tanım yapabildiği belge türüdür.

HTML elementleri nelerdir?

Aşağıdaki listede HTML’de kullanılan elementlerin listesini bulabilirsiniz.

<html></html>
<base></base>
<head></head>
<link></link>
<meta></meta>
<style></style>
<title></title>
<body></body>
<address></address>
<article></article>
<aside></aside>
<footer></footer>
<header></header>
<main></main>
<nav></nav>
<section></section>
<blockquote></blockquote>
<dd></dd>
<div></div>
<dl></dl>
<dt></dt>
<dt></dt>
<figcaption></figcaption>
<figure></figure>
<hr></hr>
<link></link>
<menu></menu>
<ol></ol>
<p></p>
<pre></pre>
<ul></ul>
<a></a>
<abbr></abbr>
<b></b>
<bdi></bdi>
<bdo></bdo>
<br></br>
<cite></cite>
<code></code>
<data></data>
<dfn></dfn>
<em></em>
<i></i>
<kbd></kbd>
<mark></mark>
<q></q>
<rp></rp>
<rp></rp>
<ruby></ruby>
<s></s>
<samp></samp>
<small></small>
<span></span>
<strong></strong>
<sub></sub>
<sub></sub>
<time></time>
<u></u>
<var></var>
<wbr></wbr>
<area></area>
<audio></audio>
<img></img>
<map></map>
<track></track>
<video></video>
<embed></embed>
<iframe></iframe>
<object></object>
<picture></picture>
<portal></portal>
<source></source>
<svg></svg>
<math></math>
<canvas></canvas>
<noscript></noscript>
<script></script>
<del></del>
<ins></ins>
<caption></caption>
<colgroup></colgroup>
<table></table>
<tbody></tbody>
<td></td>
<tfoot></tfoot>
<th></th>
<thead></thead>
<tr></tr>
<button></button>
<datalist></datalist>
<fieldset></fieldset>
<form></form>
<input></input>
<label></label>
<legend></legend>
<meter></meter>
<optgroup></optgroup>
<option></option>
<output></output>
<progress></progress>
<select></select>
<textarea></textarea>
<details></details>
<dialog></dialog>
<summary></summary>
<slot></slot>
<template></template>
<acronym></acronym>
<applet></applet>
<bgsound></bgsound>
<big></big>
<blink></blink>
<center></center>
<content></content>
<dir></dir>
<font></font>
<frame></frame>
<frameset></frameset>
<hgroup></hgroup>
<image></image>
<keygen></keygen>
<marquee></marquee>
<menuitem></menuitem>
<nobr></nobr>
<noembed></noembed>
<noframes></noframes>
<param></param>
<plaintext></plaintext>
<rb></rb>
<rtc></rtc>
<shadow></shadow>
<spacer></spacer>
<strike></strike>
<tt></tt>
<xmp></xmp>

Dipnotlar


[1] “Stack Overflow Developer Survey 2021.” https://insights.stackoverflow.com/survey/2021. Erişim tarihi: 8 Ağu. 2022.

Hiper metin (hypertext) nedir, ne işe yarar?

0

Günümüzde çoğu bilgisayar kullanıcısı, terimin kendisine ve tanımına aşina olmasa bile hiper metin kavramına aşinadır. Peki hiper metin nedir? SEO bakımından hiper metin ne işe yarar?

Hiper metin nedir?

Metin ve grafik materyalin ilgili bölümleri arasında kapsamlı çapraz referansa izin veren bir yazılım sistemidir. Bir web kullanıcısı bir web sayfasındaki bir bağlantıya her tıkladığında hiper metin kullanır.

Çoğu çevrimiçi yardım sistemi, okuyucuyu bir konudan diğerine, ilgili konuya götürmek için köprü metni de kullanır. Hipermedya terimi, modern sistemlerin düz metin dışında durağan görüntüler, videolar ve ses kayıtları da dahil olmak üzere birçok türde kaynağı kullandığını kabul eder. Bu nedenle hiper metin sadece yazıdan ibaret olmayan gelişmiş özelliklere sahip belgelerdir.

Örnekler

Bir web metnini hiper metne dönüştürmek için <a></a> kodu kullanılır.

<a href=”bağlantı linki”>bağlantının alacağı isim”</a>
<a href="https://advdyn.com/kategori/programlama-dilleri/" data-wpel-link="internal" rel="follow">programlama dillerinin</a>

Geleneksel bir belgede, okuyucunun genellikle baştan sona sırayla ilerlediği varsayılır. (Belge içinde dipnotlar veya çapraz referanslar olsa da, bunlar genellikle birincil, ardışık anlatıdan geçici farklılıklar olarak deneyimlenir.) Genel olarak konuşursak, her okuyucunun belgeden aşağı yukarı aynı gerçekleri elde etmesi beklenebilir.

Bununla birlikte, bir hiper metin belgesinde, konular arasındaki bağlantılar okuyucular için birden çok potansiyel yol oluşturur. Yazar, ilgili tüm konular arasında bağlantılar sağladığı ölçüde, okuyucu, yazar tarafından dayatılan sıralı bir yapıya bağlı kalmak yerine, kendi özel çıkarlarını takip etmekte özgürdür. Örneğin, bir ekolojideki çeşitli organizmaları ve iklim ve bitki örtüsünün etkilerini tartışan bir belgede, bir okuyucu, o organizmaya ayrılmış diğer kaynaklara (harici web sayfaları, resimler dahil) bağlantıları izleyerek bir organizmayı derinlemesine araştırmayı seçebilir.) Başka bir okuyucu, özellikle yağışın bir bütün olarak ekoloji üzerindeki etkileriyle ilgilenebilir ve klimatolojik verilere sahip sitelere tamamen farklı bir dizi bağlantı izleyebilir.

SEO bakımından hiper metin

Hiper metinin web kaynağındaki görünümü

Bir web sitesindeki belirli bağlantılar için, bağlantı verilen sayfayla ilişkiyi Google’a bildirmek için <a> etiketinde aşağıdaki rel özellik değerlerinden biri kullanılabilir.

rel="sponsored"          
rel="ugc"
rel="nofollow"

Google, rel özellikleriyle işaretlenen bağlantıların genellikle izlenmediğini bildiriyor.[1][2] Bağlantı verilen sayfaların, site haritaları veya başka sitelerden bağlantılar gibi farklı yollarla bulunduğunu ve bu nedenle, sayfaların yine de taranabileceği belirtiliyor..Bu rel özellikleri, robots meta etiketi olarak da kullanılabilen nofollow hariç yalnızca <a> etiketlerinde kullanılır (bunun nedeni Google’ın yalnızca <a> etiketiyle işaret edilen bağlantıları izleyebilmesidir).

Dipnotlar


[1] “Giden Bağlantıları SEO için Uygun Hale Getirme – Google Developers.” https://developers.google.com/search/docs/advanced/guidelines/qualifyoutboundlinks?hl=tr. Erişim tarihi: 8 Ağu. 2022.

[2] Bir bağlantının Google tarafından izlenmemesi o bağlantının Google açısından sayfa sıralamasını etkilemeyeceği anlamına da gelir. Buradaki ‘genellikle’ ibaresi dofollow etiketi taşıyan rel bağlantıları için istisna anlamına gelmektedir.

Bilgi teknolojileri (BT) nedir, hangi konuları kapsar?

0

Bilgi teknolojileri 20. yüzyılın ortalarından bu yana kullanılan ve günümüzde yaygınlaşan bir terim olarak pek çok insanın karşısına çıkıyor. Kavram 1950’lerden önce ilk olarak Massachusetts Teknoloji Enstitüsü (MIT) ve Harvard Üniversitesi tarafından tartışıldı ve bilgisayar devreleri ve sayısal hesaplamalar hakkında düşünmeye başladılar. Zaman geçtikçe, bilgi teknolojisi ve bilgisayar bilimi alanı daha karmaşık hale geldi ve bir sınıflandırma yoluna başvuruldu.[1]

Bilgi teknolojileri nedir?

Bilgi teknolojileri veya bilgi teknolojisi (kısaca BT olarak da ifade edilir) her türlü elektronik veriyi oluşturmak, işlemek, depolamak, güvenliğini sağlamak ve değiş tokuş etmek için herhangi bir bilgisayar, depolama, ağ ve diğer fiziksel cihazlar, altyapı ve süreçlerin kullanılmasına verilen isimdir. Günümüzde çoğu kurumsal firmada bilgi teknolojileri ile ilgili ayrı birimler kurulmuştur veya çoğu kurumsal firma aylık olarak BT firmalarından düzenli hizmet satın alır. Günümüzde bilgi teknolojileri ön lisans ve lisans düzeyinde bir eğitim öğretim müfredatına sahiptir.[2]

  • Bilgi teknolojileri enformasyon teknolojileri olarak da bilinir. Enformasyon kelimesi İngilizce’deki ‘information’ kelimesinden Türkçe’ye geçmiştir.

Tipik olarak BT, kişisel veya eğlence amaçlı kullanılan teknolojinin aksine iş operasyonları bağlamında kullanılır. BT’nin ticari kullanımı hem bilgisayar teknolojisini hem de telekomünikasyonu kapsar.

Bilgi teknolojileri alanı nasıl gelişti?

Harvard Business Review dergisi bilgi teknolojisi terimini, sınırlı bir işlev kapsamını gerçekleştirmek üzere tasarlanmış makineler ile çeşitli görevler için programlanabilen genel amaçlı bilgi işlem makineleri arasında ayrım yapmak için ortaya attı. BT endüstrisi 20. yüzyılın ortalarından itibaren geliştikçe, bilgi işlem kapasitesi artarken, cihaz maliyeti ve enerji tüketimi azalırken, günümüzde yeni teknolojilerin ortaya çıkmasıyla devam eden bir döngü. BT endüstrisi 20. yüzyılın ortalarından itibaren geliştikçe, bilgi işlem kapasitesi artmaya başladı, cihaz maliyeti ve enerji tüketimi azalırken, günümüzde yeni teknolojilerin ortaya çıkmasıyla devam eden bir döngü.

Bir bilgisayardaki kesme isteğinin (IRQ) işlenmesindeki adımlar: (1) Dikkat isteyen cihaz, Kesme Denetleyicisine sinyal gönderir ve bu da CPU’ya özel bir sinyal gönderir. (2) CPU, durumunu (dahili veriler ve mevcut talimatın adresi dahil) bir yığına kaydeder. (3) CPU, Interrupt Controller’dan kesme numarasını ve diğer bilgileri alır, ardından söz konusu kesmeyi işlemek için bir dizi talimat arar. (4) CPU, klavye gibi bir aygıtı işlemek için genellikle BIOS koduna bağlanan kesme işleme kodunu yürütür. (5) CPU, durum bilgisini yığından yeniden yükler ve kesintiye uğrayan işleme devam eder.

Bilgi teknolojileri neleri kapsar?

BT departmanı, kuruluşun sistemlerinin, ağlarının, verilerinin ve uygulamalarının hepsinin birbirine bağlanmasını ve düzgün çalışmasını sağlar. BT ekibi üç ana alanı ele alır:

  1. iş uygulamalarını, hizmetlerini ve altyapısını (sunucular, ağlar, depolama) dağıtır ve sürdürür
  2. uygulamaların, hizmetlerin ve altyapının performansını izler, optimize eder ve sorunlarını giderir
  3. uygulamaların, hizmetlerin ve altyapının güvenliğini ve yönetimini denetler.

Bilgi teknolojileri personelinin sorumlulukları şunlardan oluşur:

Yönetim: Yöneticiler, sistemler, ağlar ve uygulamalar dahil olmak üzere bir BT ortamının günlük dağıtımını, çalışmasını ve izlenmesini yönetir. Yöneticiler genellikle yazılım yükseltmeleri, kullanıcı eğitimi, yazılım lisans yönetimi, satın alma, güvenlik, veri yönetimi ve iş süreci ve uyumluluk gereksinimlerine uyumu gözlemleme gibi bir dizi başka görevi yerine getirir.

Destek: Yardım masası personeli, soruları yanıtlama, bilgi toplama ve donanım ve yazılım için sorun giderme çabalarını yönlendirme konusunda uzmanlaşmıştır. BT desteği genellikle BT varlık ve değişiklik yönetimini içerir, yöneticilere tedarikte yardımcı olur, veri ve uygulamaların yedeklenmesi ve kurtarılması, günlüklerin ve diğer performans izleme araçlarının izlenmesi ve analiz edilmesi ve yerleşik destek iş akışlarının ve süreçlerinin izlenmesi konularında yardımcı olur.

Uygulamalar: İşletmeler, iş yapmak için yazılıma güvenir. Bazı uygulamalar, e-posta sunucusu uygulamaları gibi üçüncü taraflardan tedarik edilir ve dağıtılır. Ancak birçok kuruluş, kritik iş yetenekleri ve hizmetleri sunmak için gereken uygulamaları ve arayüzleri (API’ler gibi) oluşturan yetenekli geliştiricilerden oluşan bir kadroya sahiptir. Uygulamalar çok çeşitli popüler dillerde kodlanabilir ve farklı uygulamalar arasında sorunsuz ve sorunsuz etkileşimler oluşturmak için diğer uygulamalarla entegre edilebilir. Geliştiricilere ayrıca etkileşimli iş web siteleri oluşturma ve mobil uygulamalar oluşturma görevi de verilebilir. Çevik veya sürekli geliştirme paradigmalarına yönelik eğilim, geliştiricilerin uygulamaları dağıtma ve izleme gibi BT operasyonlarıyla giderek daha fazla ilgilenmesini gerektiriyor.

Uyumluluk:İşletmeler, hükümet ve endüstri tarafından yönlendirilen çeşitli düzenleyici gereklilikleri yerine getirmekle yükümlüdür. BT personeli, bu tür kaynakların düzenleyici gereksinimleri karşılayan yerleşik iş yönetişim politikasına göre kullanılmasını sağlamak için iş verilerine ve uygulamalarına erişimin güvence altına alınmasında ve izlenmesinde önemli bir rol oynar. Bu tür personel, güvenlik görevleriyle derinden ilgilenir ve olası ihlalleri önlemek, tespit etmek, araştırmak ve bildirmek için hukuk ve iş ekipleriyle rutin olarak etkileşime girer.

Referanslar

Slotten, H. R. (2014). The Oxford Encyclopedia of the History of American Science, Medicine, and Technology (H. R. Slotten, Ed.). Oxford University Press.

Dipnotlar


[1] (Slotten, 2014, #)

[2] “TEMEL BİLGİ TEKNOLOJİLERİ-I – Anadolu Üniversitesi.” 1 May. 2015, https://www.anadolu.edu.tr/uploads/anadolu/ckfinder/web/files/BIL101U.pdf. Erişim tarihi: 8 Ağu. 2022.

Stack Overflow nedir, ne işe yarar?

0

Yazılımcılar ve geliştiriciler için spesifik bir sorunu çözmek bazen tek başına yeterli olmayabilir. Özellikle freelancer olarak hizmet veren yazılımcılar karşılaştıkları sorunları çözebilmek için daha tecrübeli yazılımcıların yardımına ihtiyaç duyabilir. İşte bu ve benzeri konulardaki sorulara yanıt vermek için bir internet sitesi yıllardan bu yana hizmet veriyor.

Stack Overflow nedir?

Stack Overflow profesyonel yazılımcılar için oluşturulan bir soru-cevap internet sayfasıdır.[1] “Geliştiricilerin öğrenebilecekleri, paylaşabilecekleri ve kariyerlerini inşa edebilecekleri yer” sloganını kullanır. İlk olarak 2008 yılında Jeff Atwood ve Joel Spolsky tarafından kuruldu ve günümüzde ağırlıklı olarak İngilizce olmak kaydıyla beş farklı dilde (İngilizce, İspanyolca, Rusça, Portekizce ve Japonca) içerik hizmeti veriyor.

Türkçe dil desteği olmamasına karşılık Türkiye’deki yazılımcılar ve yazılım mühendisliği öğrencileri tarafından da en çok ziyaret edilen internet sitelerinden biridir. Stack Overflow, 2 Haziran 2021’de Hollanda merkezli tüketici internet holding şirketi Prosus’a 1,8 milyar dolar karşılığında satıldı.

Stack Overflow kullanıcı arayüzü

Ne için kullanılır?

Web sitesi, kullanıcıların soru sormaları ve soruları yanıtlamaları ve üyelik ve aktif katılım yoluyla, Reddit’e benzer şekilde soru ve yanıtları yukarı veya aşağı oylamaları ve wiki’ye benzer bir şekilde soru ve yanıtları düzenlemeleri için bir platform görevi üstlenir.

Stack Overflow kullanıcıları itibar puanları ve “rozetler” kazanabilir; örneğin, bir kişiye bir soruya veya bir soruya verilen yanıta “yukarı” oy aldığı için 10 itibar puanı verilir ve değerli katkıları için rozetler alabilir, bu geleneksel Soru-Cevap sisteminin bir oyunlaştırmasını temsil eder. Kullanıcılar, oy verme, yorum yapma ve hatta diğer kişilerin gönderilerini düzenleme gibi itibar artışıyla yeni ayrıcalıkların kilitlerini açmaları mümkündür.

Mart 2021 itibarıyla Stack Overflow’un 14 milyondan fazla kayıtlı kullanıcısı vardır ve 21 milyondan fazla soruya 31 milyon yanıt verilmiştir. Site ve benzeri programlama soru-cevap siteleri, 2000’lerde günlük programlama referansları için küresel olarak çoğunlukla programlama kitaplarının yerini almıştır ve bugün bilgisayar programlamanın önemli bir parçasıdır. Sorulara atanan etiketlerin türüne göre sitede en çok tartışılan sekiz konu şunlardır: JavaScript, Java, C#, PHP, Android, Python, jQuery ve HTML.

Etkisi

Stack Overflow programlama dillerinin popülerliği ve gördüğü talep ile ilgili her yıl çeşitli dizinler oluşturur. Ayrıca her yıl Developer Survey (Geliştirici Anketi) oluşturur. Stack Overflow yazılımla ilgili trendleri belirleyen ve çeşitli haber sitelerini yazılımla ilgili besleyen bir saygınlığa sahiptir.

Üyelik ve kullanımı

Stack Overflow Google ve Facebook hesaplarıyla API entegrasyonu sebebiyle üçüncü parti üyelik kabul eder. Üyelik aşamasında kullanıcılara ilgili oldukları yazılım dillerini belirtmeleri talep edilir ve bu bu yazılım dilleriyle ilgili soru ve cevaplar kullanıcıya öncülenir.

Kullanıcılar ilgi alanlarını belirledikten sonra diğer kullanıcılar tarafından sorulan soruların listelendiği bir sayfaya yönlendirilir. Soldaki sütun oy sayısı, cevap sayısı ve soru içeriğinin görüntülenme sayısını verir. Soruyu soran kullanıcılar diğer kullanıcıların ve arama motoru üzerinden aynı soruyu sorabilecek kullanıcıların benzer sorunla karşılaşmaları halinde konuyu bulmaları için ilgili etiketleri ekler.

Dipnotlar


[1] “Stack Overflow – Where Developers Learn, Share, & Build Careers.” https://stackoverflow.com/. Erişim tarihi: 8 Ağu. 2022.

Zorunlu programlama (imperative programming) nedir, örnekleri nelerdir?

0

Programlama dilleri bazen karmaşık gelebilir. Bunun en önemli nedeni pek çok programlama dilinin sayıca oldukça fazla olmasıdır. Bilgisayar bilimcileri günümüzde programlama dillerini çeşitli paradigmalara göre tasnif etme yoluna başvurur. Buna göre ortaya çıkan yaklaşımlar gerek yazılım mühendisliği bölümlerinde okuyan öğrencilerin gerekse de yazılım hakkında bilgi sahibi olmak isteyen kullanıcıların daha anlaşılabilir bir yöntem edinmelerine yardımcı olur.

Zorunlu programlama dilleri nedir?

Zorunlu dillerdeki programlama modeli, her bir ifadenin bir bellek deposu üzerinde bir etkisi olduğu bir anda ifade paradigmasına dayanır. Zorunlu programlama, bir kişinin bellek deposundaki hücrelerin içeriğini değiştirmesine izin veren atama ifadesinin etrafında toplanmıştır.

generic
type Stack_Elt is private;
package Stack is

type S is private;

procedure lnit (A_Stk : in out S);
procedure Push (value : in Stack_Elt; A_Stk : in out S);
procedure Pop (A_Stk; in out S);
function Top (A_Stk : in S) return Stack_Elt;
function Empty (A_stk : in S) return BOOLEAN;

private
type Stk;
type S is access Stk;

end Stack;

Daha basit bir ifadeyle zorunlu programa dilleri bir kodun nasıl yazılacağını söyler. Bildirimli programlama dilleri ise bir kodun ne yapması gerektiğini söyler.

Zorunlu programlama dillerinin uygulama modeli, operasyon işlevlerini taklit etmeleridir. Zorunlu dillerin doğası gereği, işlemleri her zaman işlev olarak gerçekleştirmezler. Çoğu zaman, bir tür örneğinin durumunu değiştiren işlemler, yeni bir tür örneği oluşturup döndürmez, ancak istemciye ait orijinal örneği değiştirmek için yan etkileri kullanır.[1]

Dezavantajları

Zorunlu dillerde programların yazılması, hatalarının ayıklanması ve bakımı bildirimsel dillerde yazılanlara kıyasla genellikle daha zordur. Zorunlu programlama, bir çözüm prosedürünün “nasıl” belirlendiğine daha fazla vurgu yapar. Zorunlu dillerde yazılan programlar genellikle kod boyutu açısından daha büyüktür ve bildirimsel dillerde yazılan programlara kıyasla daha hızlı çalışır. Zorunlu dillerin sağlam bir matematiksel temeli yoktur.[2]

Örnekleri

1973’te Massachusetts Institute of Technology (MIT) bünyesinde çalışan Amerikalı bilgisayar bilimci Barbara Liskov ve öğrencileri soyut veri türlerini (abstract data types) birleştirmenin bir yolunu buldu ve CLU programlama dilini oluşturdular.[3] Günümüzde ise Modula-2 ve Ada programlama dilleri dil tasarımı aşamasında soyut veri türlerine daha fazla önem vermiştir.

Zorunlu programlama dillerine Pascal, C ve Java örnek olarak gösterilmektedir.[4]

Dipnotlar


[1] (Morris & Tamm, 1993, s. 3)

[2] “CS3671: Programming Languages: Lecture 1.” https://personal.utdallas.edu/~gupta/courses/apl/lec1.html. Erişim tarihi: 5 Ağu. 2022.

[3] Kapsamlı bir kullanım bulamamakla birlikte, CLU, günümüzde yaygın olarak kullanılan birçok özelliği tanıttı ve nesne yönelimli programlama dillerinin (OOP) geliştirilmesinde bir adım olarak kabul edildi.

[4] “CS3671: Programming Languages: Lecture 1.” https://personal.utdallas.edu/~gupta/courses/apl/lec1.html. Erişim tarihi: 5 Ağu. 2022.

Nesne yönelimli programlama (OOP) nedir? Örnekleri nelerdir?

0

Yazılım mühendisliği okuyan öğrenciler veya yazılıma ilgi duyan hemen hemen tüm potansiyel yazılımcılar genel olarak programlama dilleri konusunda karmaşık fikirlere sahiptir. Programlama dillerini tasnif eden alt sınıflar karmaşık fikirleri bir nebze olsun ortadan kaldırmaya yardımcı olur.

Geçtiğimiz yetmiş yıl boyunca programlama dilleri büyük oranda genişledi. Bu zenginlik programlama dillerine çeşitli sınıflandırmalar yapılması zorunluluğunu ortaya çıkardı. Yazılım hizmet ve ürünlerinin çeşitlenmesi nedeniyle programlama dilleri spesifik alanlara hitap etmeye başladı. Örneğin SQL ve NoSQL veritabanı yönetimi amaçlı kullanıldı. Peki neden bazı programlama dilleri nesne yönelimli dil (object-oriented languages) olarak tanımlanırken bazıları zorunlu dil veya fonksiyonel dil olarak tanımlanıyor?

Programlama dilleri esasında yapay olarak üretilmiş dillerdir ve bu nedenle insanların konuştukları dillerin organik gelişiminden farklı bir yol benimser. Her bir programlama dilinin bir tasarım felsefesi ve söz dizimi vardır.

Nesne yönelimli dil nedir?

Nesne yönelimli programlama (İngilizce’de kısaca OOP kavramıyla ifade edilir), yazılım tasarımını işlevler ve mantıktan ziyade veriler veya nesneler etrafında organize eden bir bilgisayar programlama modelidir. Bir nesne, benzersiz niteliklere ve davranışa sahip bir veri alanı olarak tanımlanabilir.[1]

“Veya World of Warcraft gibi devasa bir çevrimiçi çok oyunculu oyunda avatarınızın performansını artırmak için bir bot oluşturuyor olabilirsiniz. Bu durumda, muhtemelen davranış sınıflarını ifade etmeye yardımcı olacak nesne yönelimli bir uzantıya sahip Lua gibi bir betik dili kullanıyorsunuzdur.”[2]

Nesne yönelimli programla dilleri sınıf (classes) kavramına dayanır. Sınıflar, soyut veri türlerine benzer ve bir örnek üzerinde gerçekleştirilebilecek işlemlerle birlikte sınıfın bir örneğini (veya bir nesnesini) temsil etmek için gereken veri yapılarının tanımlarından oluşur. Smalltalk nesne yönelimli bir dilin en zengin örneğidir. C++ ve Eiffel gibi daha yeni diller emir kiplidir, ancak nesne yönelimli sınıfları barındırır. Bu türden programlama dilleri bir sınıf örneğiyle etkileşimi, katı bir dizi işlemle sınırlamak için olanaklar içerirler.[3]

Nesne yönelimli bir programın organizasyonu, aynı zamanda, projelerin gruplara ayrıldığı işbirlikçi geliştirme için yöntemi fayda sağlar. OOP’nin ek faydaları arasında kodun yeniden kullanılabilirliği, ölçeklenebilirliği ve verimliliği yer alır.

Nesne yönelimli dillerin yapısı

  • Sınıflar (Classes): Sınıflar, bireysel nesneler, nitelikler ve yöntemler için plan görevi gören kullanıcı tanımlı veri türleridir.
  • Nesneler (Objects): Nesneler, özel olarak tanımlanmış verilerle oluşturulan bir sınıfın örnekleridir. Nesneler, gerçek dünyadaki nesnelere veya soyut bir varlığa karşılık gelebilir. Sınıf başlangıçta tanımlandığında, tanımlanan tek nesne tanımdır.
  • Yöntemler (Methods): Yöntemler, bir nesnenin davranışlarını tanımlayan bir sınıf içinde tanımlanan işlevlerdir. Sınıf tanımlarında yer alan her yöntem, bir örnek nesneye başvuru ile başlar. Ek olarak, bir nesnede bulunan alt rutinlere örnek yöntemler denir. Programcılar, yeniden kullanılabilirlik veya işlevselliği bir seferde bir nesne içinde kapsüllenmiş halde tutmak için yöntemler kullanır.
  • Öznitelikler (Attributes): Nitelikler sınıf şablonunda tanımlanır ve bir nesnenin durumunu temsil eder. Nesneler, nitelikler alanında depolanan verilere sahip olacaktır. Sınıf nitelikleri sınıfın kendisine aittir.

Nesne yönelimli dillere örnekler nelerdir?

Simula ilk nesne yönelimli programlama dili olarak kabul edilirken günümüzde OOP ile birlikte birçok başka programlama dili kullanılmaktadır. Ancak bazı programlama dilleri OOP ile diğerlerinden daha iyi eşleşir. Örneğin, saf OOP dilleri olarak kabul edilen programlama dilleri, her şeyi nesne olarak ele alır. Diğer programlama dilleri öncelikle OOP için tasarlanmıştır, ancak bazı prosedürel süreçler dahil edilmiştir.

Nesne yönelimli programlama dilleri için en iyi örnekler Ruby, Scala, JADE ve Emerald’dır. Başlangıçta nesne yönelimli olarak tasarlanan diğer dillere ise Java, Python ve C++ örnek olarak gösterilebilir.

Yazılım öğrenmek için nesne yönelimli bir dil tercih etmek doğru mu?

Programlama dillerinin popülerliği belki biraz kafa karıştırıcı görünebilir. Yazılımcılar, iyi bir yazılım eğitimi alınması için nesne yönelimli bir dilin tercih edilmesinde fayda görüyorlar.

Referanslar

Friedman, D. P., & Wand, M. (2008). Essentials of programming languages. Books24x7.com.

Morris, D., & Tamm, B. G. (Eds.). (1993). Concise Encyclopedia of Software Engineering. Elsevier Science & Technology Books.

Dipnotlar


[1] “What is Object-Oriented Programming (OOP)? – TechTarget.” https://www.techtarget.com/searchapparchitecture/definition/objectorientedprogrammingOOP. Erişim tarihi: 5 Ağu. 2022.

[2] (Friedman & Wand, 2008, s. xii)

[3] (Morris & Tamm, 1993, s. 4)

2022’de en çok kullanılan programlama dilleri nelerdir?

0

2019 ve 2020’de Stack Overflow’un en sevilen diller listesinde ilk üç sırayı Python, Rust ve Typescript’in aldığına tanıklık etmiştik.[1] Peki 2022 yılında en çok kullanılan, en yaygın veya en popüler olarak tasnif edebileceğimiz programlama dilleri (halk arasında yazılım dilleri) nelerdir?

Bu makalede içerisinde bulunduğumuz yılda en revaçtaki programlama dillerini derlemeyi amaçladık.[2] Bu derleme aynı zamanda halihazırdaki trendlere bakarak önümüzdeki yıllarda hangi dillerin popüler hale geleceğinin daha iyi anlaşılmasını sağlayacaktır. Ancak yazıya geçmeden önce hatırlatmakta fayda var: Bir dilin popülerliği veya kullanım yaygınlığı o alanda daha rahat iş bulunabileceği anlamına gelmez. Ancak geleceği görmek açısından bir fikir oluşturabilir.

2022’de En Çok Talep Gören Programlama Dilleri

1.   JavaScript

  • Web geliştirme
  • Oyun geliştirme
  • Mobil uygulamalar
  • Web serverlerın oluşturulması

Stack Overflow’un 2020 Geliştirici Anketine göre, JavaScript %69,7 oranla şu anda dünyada en yaygın kullanılan dildir. Onu HTML/CSS (%62,4), SQL (%56,9), Python (%41,6) ve Java ( %38.4) takip ediyor. JavaScript aynı zamanda Amerika’da işe alım yöneticileri tarafından en çok aranan programlama dilidir.[3]

JavaScript, web sayfalarının davranışını yönetmek için kullanılır. Bununla kodlayıcılar, animasyonlu grafikler, etkileşimli haritalar, tıklanabilir düğmeler ve daha fazlası gibi dinamik web öğeleri oluşturabilir. HTML, CSS ve JavaScript’i birlikte kullanan programcılar, daha yüksek düzeyde web sitesi kontrolü elde eder ve gezinme ve okunabilirlik açısından daha iyi bir kullanıcı deneyimi sağlayabilir.

JavaScript, bugün dünya genelinde kullanılan en yaygın kodlama dilidir. Bunun iyi bir nedeni var: çoğu web tarayıcısı bu dili kullanır ve JavaScript öğrenmesi en kolay dillerden biridir. Neredeyse hiç önceden kodlama bilgisi gerektirmez – öğrenmeye başladığınızda hemen pratik yapabilir ve onunla oynamanız mümkün hale gelebilir.

Kullanımı yaygın olduğu için, JavaScript ile ilgili çevrimiçi olarak sayısız topluluk, kurs ve profesyonel destek bulabilirsiniz. Bu destek, dilin birinci sınıf kullanılabilirliğine ilaveolarak, JavaScript’i en çok talep edilen programlama dilleri listesinde bir numaraya taşıyor.

Faydalı kaynaklar

JavaScriptResources and ToolsIBM Developer
JavaScript programlama dersleri

2.   Python

  • Arka yüz geliştirme
  • Veri bilimi
  • Uygulama geliştirme

Python, geliştiricilere programlar oluştururken birkaç farklı programlama stili (yani, işlevsel, nesne yönelimli, yansıtıcı vb.) kullanma yetkisi veren genel amaçlı bir programlama dilidir. Python ile YouTube, Google Arama ve iRobot makineleri dahil olmak üzere birçok popüler dijital araç ve platform geliştirildi. Ayrıca, HackerRank’e göre, Amerika’da işe alım yöneticileri için Python en çok talep gören ikinci programlama dilidir.[4] Bu nedenle yazılımda bir kariyer hedeflerken talepleri göz önünde bulundurmakta fayda var.

Faydalı kaynaklar

PythonResources and ToolsIBM Developer

Python dersleri

3.   HTML

  • Web dökümanlar
  • Website geliştirme
  • Website bakımı

HTML, HyperText Markup Language (Hiper Metin Biçimlendirme Dili) anlamına gelir. Kulağa karmaşık gelen bu isim aslında aldatıcı gelebilir; çünkü HTML, programlama dünyasına en erişilebilir basamak taşlarından biridir.

Teknik olarak, HTML bir biçimlendirme dilidir. Yani bir web sitesindeki bilgilerin görünümünü biçimlendirmekten sorumludur. Esasen HTML, web sayfalarını sıradan metinlerle tanımlamak için kullanılır. Bu listedeki diğer programlama dilleriyle aynı işlevselliğe sahip değildir ve bir sitede metin oluşturma ve yapılandırma ile sınırlıdır. Bölümler, başlıklar, bağlantılar ve paragrafların tümü HTML alanının bir parçasıdır.

2020 itibariyle HTML, Stack Overflow’un CSS ile dünyada en yaygın kullanılan diller listesinde 2. sırayı paylaşıyor.

4.   CSS

  • Web dökümanlar
  • Website geliştirme
  • Website tasarımı

CSS veya cascading stlye sheets (basamaklı stil sayfaları) genellikle HTML ile birlikte uygulanır ve sitenin görünümünü yönetir. HTML, site metnini parçalar halinde düzenlerken, CSS tüm sayfa öğelerinin boyutunu, rengini ve konumunu belirlemekten sorumludur.

CSS, yeni başlayan programcıların mecazi kodlama havuzuna ayak parmaklarını sokmalarına izin veren, ulaşılabilir bir dildir. Kodlama konusunda yeniyseniz, daha karmaşık dillerle uğraşmadan önce CSS öğrenmemeniz için hiçbir neden görünmüyor.

5.   Java

Java ve JavaScript genellikle birbirinin aynısı sanılır, ancak gerçekte öyle değildir. Java, genel kullanımlı ve nesne yönelimli bir programlama dilidir. Nesne yönelimli programlamada geliştiriciler, daha sonra programlara ve uygulamalarayapı sağlamak için kullanılabilecek işlevleri ve verileri kapsayan nesneler oluşturur.

Java şu anda küresel olarak işe alım yöneticileri için en çok aranan üçüncü programlama dili (PDF, 2.4 MB) olarak yer alıyor ve iki yıldır Stack Overflow’un en yaygın kullanılan diller listesinde 5. sırada yer alıyor.

Kaynaklar

JavaResources and ToolsIBM Developer

6.   SQL

  • Veritabanı yönetimi
  • Satış raporları
  • İş yönetimi

SQL veya Structured Query Language (Yapılandırılmış Sorgu Dili), programcıların veritabanlarını sorgulamasını ve işlemesini sağlayan bir dildir. Etki alanına özgü bir dil olarak, esas itibariyle bir RDBMS[5] (ilişkisel veritabanı yönetim sistemi) içindeki verileri yönetmek için tasarlanmıştır. Basitçe söylemek gerekirse, SQL bir veritabanından veri bulabilir ve alabilir, ayrıca kayıtları güncelleyebilir, ekleyebilir veya kaldırabilir.

Bununla birlikte, ankete katılan geliştiricilerin yarısından fazlasının (%54,7) SQL’i kullandıklarını bildirdiği SQL, programlama endüstrisinde hala en çok kullanılan dillerden biri olarak yer alıyor.

7.   NoSQL

  • Veritabanı yönetimi
  • Satış raporları
  • İş yönetimi

“Yalnızca SQL olmayna” olarak da adlandırılan NoSQL, ilişkisel veritabanlarında bulunan geleneksel yapıların dışında verilerin depolanmasını ve sorgulanmasını sağlayan bir veritabanı tasarımı yaklaşımıdır. İlişkisel veritabanı yönetim sistemlerinde (RDBMS) bulunan verileri hala saklayabilirken, bir RDBMS’ye kıyasla sadece farklı şekilde depolar. İlişkisel olmayan bir veritabanına karşı ilişkisel bir veritabanı kullanma kararı büyük ölçüde bağlamsaldır ve kullanım durumuna göre değişir.

SQL’in, verileri tablolarda tutan ve kullanıcıların verileri işlemesine ve çıkarmasına olanak tanıyan ilişkisel veritabanı/akış yönetim sistemlerini kullandığını unutmayın. NoSQL veritabanları ise tablo kullanmaz ve hiyerarşik bir ağda veri depolamak veya büyük ölçekli, bulut tabanlı uygulamaları desteklemek gibi belirli uygulamalar için öncekilerden daha kullanışlı olabilir.

8.   C#

  • Oyun geliştirme
  • Masaüstü/web/mobil uygulamalar geliştirme
  • Sanal gerçeklik geliştirme

C Sharp olarak da stilize edilen bu dil, nesne yönelimli programlama dilleri ailesine aittir. C#, 2002 yılında Microsoft tarafından piyasaya sürüldü ve bugün C++ kodlama dilinde çok sevilen bir programlama dili olarak konumunu muhafaza ediyor.

Genel amaçlı bir dil olarak C#, web ve masaüstü uygulamalar geliştirmek için kullanılıyor; HackerRank’e göre, kabaca her beş işe alım yöneticisinden biri (PDF, 2.4 MB) C# ile kod yazabilen bir geliştirici arıyor. Önümüzdeki yıl için en çok talep gören kodlama dillerinden biri olduğu inkar edilemez; ancak, bu yeteneğin radarınızda olması için başka nedenler de var.

Kaynaklar

C# öğrenin

9.   Rust

  • İşletim sistemleri
  • Sanal gerçeklik geliştirme
  • Web tarayıcıları

Yakın tarihli bir Stack Overflow anketi, birçok geliştiricinin Rust dilini kullanmayı sevdiğini veya geliştirmek istediğini ortaya koydu.

Rust açık kaynak kodlu, çoklu paradigmalı, ilk olarak Mozilla tarafından dizayn edilen ve Rust Foundation tarafından geliştirilmekte olan; performansa, güvenliğe ve eş zamanlı işlem yapabilmeye odaklanmış bir sistem programlama dilidir. Rust, söz dizimi olarak C++ diline benzemektedir.

Kaynaklar

Neden Rust programlama dili öğrenmelisiniz

10.        Perl

Perl piyasada en yaygın kullanılan programlama dillerinden biri değildir. Aslında, geliştiricilerin yalnızca yüzde 3,1’i 2020’de Perl kullandı ve 2019 için Stack Overflow’un yaygın olarak kullanılan diller listesine dahi girmedi. Ancak, yazılım kariyerinizde zaten iyiyseniz, Perl öğrenmek kazanç potansiyelinizi önemli ölçüde artırabilir.

Dipnotlar


[1] “Stack Overflow Developer Survey 2019.” https://insights.stackoverflow.com/survey/2019. Erişim tarihi: 5 Ağu. 2022.

[2] En çok talep gören programlama dilleri listesi oluştururken Stack Overflow, ABD’deki çeşitli üniversiteler tarafından sunulan veriler, işe alım verileri ve IBM internet sitesinden faydalandık.

[3] “HackerRank-2020-Developer-Skills-Report.pdf.” https://info.hackerrank.com/rs/487-WAY-049/images/HackerRank-2020-DeveloperSkillsReport.pdf. Erişim tarihi: 5 Ağu. 2022.

[4] “HackerRank-2020-Developer-Skills-Report.pdf.” https://info.hackerrank.com/rs/487-WAY-049/images/HackerRank-2020-DeveloperSkillsReport.pdf. Erişim tarihi: 5 Ağu. 2022.

[5] İngilizce açılımı: relational database management system