C etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Programlamaya başlayacak olan birçok adayın aslında akıllarındaki ortak sorudur.
En iyi programlama dili nedir?
Bu sorunun malesef bir cevabı yok.Her programlama dili belli bir alana yönelik olduğu gibi her programlama dilininde kendine has özellikleri ve farklılıkları bulunmaktadır.Bu yazımızda çalışma alanlarına göre yazılım dillerini ele alacağız.

Gelilim yazılım sektöründe en sık kullanılan 10 programlama diline.


1.C PROGRAMLAMA DİLİ:

Aslına bakarsanız çoğu mühendislik eğitiminde dersleri verilen hemen her programlama dilinin temelin oluşuran en yaygın programlama dillerinde başında gelen bir programlama dili.1972 yılında bell laboratuvarlarında Dennis Ritchie tarafından geliştirilmiş olan bu dilin belkide en zayıf noktası object oritented olmayışı.

Hali hazırda piyasada alt düzey programlama dili olarak en çok kullanılan programlama dilleri arasında.

2.C++ PROGRAMLAMA DİLİ:

C programlama dilinin en zayıf özelliği olarak abject oriented olmayışından bahsetmiştik.Bu zayıflığın giderilmesi açısından C programlama dili ışığında 1983 yılında C++ programlama dili ortaya konulmuştur.Piyasa hali hazırda oldukça yaygın bir iş ağı bulunan bu dil ile günümüzde kullanılan Google Chrome,Mozilla Firefox, geçmişin en yaygın müzik oynatıcılarından winamp ve birçok adobe uygulaması bu dil ile oluşturulmuştur.Hızlı işletimi ve derlenmesi açısından oldukça revaçta ve sık kullanılan bir dil olma  özelliğini taşımaktadır.



3. JAVA PROGRAMLAMA DİLİ:

James Gosling tarafından 1990 yılında Sun microsistemleri adına yaratılmış olan bu programlama dili C++ programlama dilinin özellikleri de eklenmiş hali ile günümüzde oldukça yaygın olarak kullanılmaktadır.Javayı oldukça özel kılan ise ilk kez tamamen object orriented bir dilin java ile hayatımıza girmiş olması.Dünyadaki neredeyse tüm makinelarin java desteği olduğu düşünülürse java ile yaptığınız bir uygulamada "1 kere yaz heryerde çalıştır" mantığı güdülmektedir.

Programların kullanıcı ile buluştuğu yüksek level katmanlarında ve web tabanlı uygulamalarda oldukça sık olarak kullanılan javanında c++ programlama dili gibi oldukça geniş bir iş ağı bulunmakta ve programcılar tarafında en çok tercih edilen programlama dilleri arasında yer almaktadır.

4. C# PROGRAMLAMA DİLİ:

2000 yılında microsoft ailesi tarafından geliştirilmiş olan C# java programlama dili ile olan benzerliği ile dikkat çekmektedir.C# için genellikle C++ programlama dilinin özelliklerinin java ile harmanlanması şeklinde tabirlerle de karşılaşabilirsiniz. Bu yapısı sayesinde iyi bir c# programcısı java ya geçişte ya da iyi bir java programlayıcı c# a geçişlerde sıkıntı yaşamaz.

Visual Studio ide ile geliştirme sağlayan C# ile neredeyse tğm yazılım uygulamalarını geliştrimeniz mümkün.Asp.net kullanıyorsanız web tabanlı uygulamalar,Wpf ile oldukça şık ve görsel program arayüzleri oluşturabilirsiniz.Windows işletim sistemi altında çalışacak yani .net tabanlı uygulamalar geliştrimek istiyorsanız kesinlikle es geçmemeniz gereken bir programlama dili.

5. OBJECTIVE C PROGRAMLAMA DİLİ:

1983 yılında apple için Brad Cox ve Tom Love tarafında geliştirilmiş olan bu programlama dili ile i-phone / i-pad gibi plaformlar için uygulamalar geliştirebilirsiniz.C programlama dilinin üzerine bir yama niteleğindeki bu programlama dilini öğrenerek apple için iyi bir uygulama geliştiricisi olabilirsiniz.


6. PHP:

Dinamik web sitesi tasarlıyan geliştiricilerin oldukça sık kullandığı bir dil.Web sitelerinde kullanıcıların server tarafı ile etkileşimine olanak sağlayan script tabanlı bir dil olan php 1995 yılında geliştirilmiştir.

Html kodları içerisinde rahatlık gömebildiğiniz açık kaynak kodlu olan php dili günümüzde neredeyse her websitesinde karşımıza çıkmaktadır.Joomla,Wordpress,Drupal gibi websitesi geliştrime platformları php programlama dilini sıkça kullandığı gibi birçok forum yapısında da ağır olarak php programlama dilini görmekteyiz.

7. JAVA SCRIPT:

Server tarafında php kodları ile script sayesinde her ne kadar kullanıcılar ile etkileşim sağlanabilse de,tüm etkileşimi server tarafına yıkmak bazı durumlarda server a aşırı yük binmesine sebebiyet verebiliyor (chat serverlar gibi.).Bu durumdan kaçınmak ve server yükünü azaltmak açısından client tarafında çalışan javascript dili yardımımıza koşuyor.Browserlar gibi client tarafında çalışan javascript bizim serverlerımızın yükünü azaltarak hizmet hızımızın artmasını sağlamaktadır.Ancak iyi bir server etkileşimli website oluşturma hususunda ve iş olanağı konusunda başlıbaşına javascript bilmek yeterli değildir.Php ve Css ile desteklenmelidir.


8.PHYTON:

Syntax tabanlı üst düzey programlama dilleri arasında yerini almış olan phyton dili öğrenmesi oldukça basit ve uygulama rahatlığı sunan bir programlama dilidir.Aslında geçmişte çok sık kullanılan bir programlama dili değildi,google ın yatırımları sayesinde son 10 yılda hatrı sayılır bir sıçrama yakalayarak diğer popüler programlama dilleri arasında yerini aldı.Hali hazırda pinterest,instagram gibi siteler phyton uygulamaları kullanmakta ve Web etkileşimli server taraflı uygulamalarda php dili gibi sıklıkla kullanılmaktadır.

9.SQL:

Her ne kadar bir geliştirme dili olmasada sql veritabanı ile etkileşimi sağlayan bir sorgu dilidir.Bir uygulamanın veri tabanı ile arasındaki etkileşimin sağlaması sırasında kullanılır.İngilizce diline yakılığı ile göze çarpan Sql dilini öğrenmek oldukça basittir.

10. RUBY:

Web tabalı uygulama geliştrimede oldukça yaygın olarak kullanılan bu programlama dili Phyton ile yakınlık göstermektedir.Phyton gibi uygulaması ve öğrenimi oldukça basit olan bu programlama dili 1995 yılında Yukihiro Matsumoto tarafından geliştirilmiştir.Github, Scribd, Yammer, Shopify ve Groupon gibi siteler halihazırda ruby programlama dili ile geliştirilmiştir.


Gelelim bazı anketlerin verilerine

Hangi programlama dili ne kadar ünlü ve iş olağı dünya çapında ne durumda ?

 Diller TIOBE sırasıJobsTractor sırası  iş imkanları
   Indeed.com
C1   13       8112
C++4   10        31199
Java    1      67753
C#6   8      31935
Objective-C   3      4473
PHP5   2     19953
Python8   9     24916
Ruby11    5      13621
C programlama - fonksiyon yazımı ve kullanımı

C de programımızın efektif olması acısından ve iş bölümü acısından fonksiyonları kullanırız arkadaslar

fonksiyonları buyuk bir programın kucuk işçi parcaları olarak dusunun ve bu işçileri ihtiyacımız oldugunda cagırdıgımız ve onlarla işimiz bittiginde geri gonderdigimizi ve bu işçilerin biz ne zaman cagırırsak gelecek olduklarını dusunun

buyuk programımızın etrafında işçilerimizi kendimiz olustururuz işçinin ne yapmasını istiyorsak onunla ilgili fonksiyonumuzu yazarız ve main fonksiyonu yani ana program fonksiyonumuz içerisinde ihtiyacımız oldugu zamanlarda cagırır ve gorevini yerine getirmesini isteriz

öncelikle fonksiyonlar yani işçilerimizi nasıl tanımlarız :

fonsiyonu tanımlarken oncelikle fonksiyonumuzun tipini belirleriz bu fonksiyon işini bitirdikten sonra bize ne tipte bir veri donecek integer,string,char,double,float bir degisken donebilecegi gibi istersek basına void ekleyerek hiçbirsy geri dondurmemesini de saglayabiliriz :)

2. dikkat edilmesi gereken husus ise işçimize kullanması için veri verip vermeyecegimizdir ana fonskyisonumuz içerisinde bir kac veriyi işçimize gonderip işlemesini isteyebiliriz yada o alanı bos bırakarak işçimizin ana fonksiyondan bagımsız bir işlem yapmasını da isteyebiliriz

gelelim fonksiyonların genel olarak nasıl tanımlandıklarına :

fonksiyonlar main fonsiyonunundan sonra ya da main fonksiyonundan once tanımlanırlar genellikle ben 2. tercihi kullanıyorum ilk tercihe gelirsek fonksiyonu main fonksiyondan sonra tanımaldıgınıdan main fonksiyonun oncesinde programa fonksiyon tanımlayacagınızı bildirmeniz gerekmektedir neyse kafanız karısmasın :) benim tercih ettigim metoddan yolumuza devam edelim

 FonksiyonTipi FonksiyonAdı(arguman listesi)
      argumanların tip bildirimleri
      {
        Yerel değişkenlerin bildirimi
        ...
        fonksiyon içindeki deyimler veya diğer fonksiyonlar
        ...
      }

seklinde tanımlanır fonksiyon tipi belirttigimiz gibi int double string char gibi degisken tiplerini alabilecegi gibi void olarak belirtirsek bize birsey dondurmeyecektir

arguman listesi ise egerki ana fonksiyonumuzdan isçimizin işlemesi için bir kac degisken gondermek istiyorsak kullanacagımız kısımdır gondermek istemiyorsak bos bırakılabilir

fonksiyon adı ise işçimize verecegimiz isim olup ana fonksiyon içerisinde bu adla cagıracagımız kısımdır


gelelim örnegimize

bir program dusunun kullanıcıdan 2 adet sayı isteyecegiz bu sayıları işçimizin toplamasını isteyecegiz sonrasında bir işçi daha olusturup bu işçinin de toplama işlemi sonucunu ekrana yazdırmasını isteyecegiz

#include <stdio.h>
int toplayici(int x,int y)
{
int toplam;
toplam=x+y;
return toplam;
}
void ekrana_yaz(int sonuc)
{
printf("toplama isleminin sonucu=%d",sonuc);
}

void main()
{
int a,b,islem_sonucu;
printf("1. sayiyi giriniz\n");
scanf("%d",&a);
printf("2. sayiyi giriniz\n");
scanf("%d",&b);
islem_sonucu=toplayici(a,b);
ekrana_yaz(islem_sonucu);
}

yukarıdaki ornekte goruldugu uzere ana programımızdan 2 adet degisken yolladıgımız ve bize toplama işlemini yapacak toplayici fonksiyonunu yani işçimizi olusturduk bu işçi ne yapacak ana fonsiyondan gonderdigimiz 2 integer degiskeni toplayara return ile cagırdıgımız noktaya toplama işleminin sonucu yollayacak ne yaptık burada integer 2 degisken aldık ve integer olarak toplayici fonksiyonu olusturuduk ve bu fonsiyonda bize integer bir deger geri dondurdu.

gelelim 2. işçimize ekrana_yaz fonksiyonu bu fonksiyona dikkat ettiyseniz void olarak tanımladık ekrana yazdırması gerekiyor neticesinde ana fonksiyonumuza herhangi bir deger dondurmesi istenmiyor ben fonksiyonu cagırdıgımda ekrana istedigimi yazırsın yeter :) ekrana yazıdrmak istedigim degeri de fonksiyona zaten int sonuc olarak gonderiyorum ana fonksiyonumdan degil mi :)

programı calıstırdıgınızdan alacagınız sonuc:

1. sayiyi giriniz
5
2. sayiyi giriniz
9
toplama isleminin sonucu=14

olacaktır
buradaki 5 ve 9 benim kullanıcı olarak girdigim rakamlardır

herhangi bir sorunuz olması durumunda iletisime gecmekten cekinmeyizi
iyi kodlamalar arkadaslar
c programlama - kendi degiskenimizi olusturalım
Struct yapısı

merhabalar arkadaslar
bu paylasımımızda kendi degiskenlerimizin nasıl yapılacagını ve bunun nasıl tanımlanıp nasıl kullanılacagını anlatacagım

tek bir degisken altında o degiskene baglı birden fazla degisken tanımladıgımız yapıya struct diyoruz karısık geldi degilmi ancak bir ornek ile aklınızdaki soru işaretlerini ortandan kaldıracagız

struct TipAdı{
tip deg_ismi;
tip deg_ismi;
...
};

bir sınıfın bilgilerini tutmak istiyoruz mesela ve her ogrencinin bir adet ogrenci numarası dogal olarak bir ismi ve birde soy ismi var
son olarak ise bu ogrencinin okudugu bir sınıf var

ögrenci numarasını ve kacıncı sınıfta okdugunu integer , isim ve soy isim ise bir onceki anlatımımızda olan katar yapısı ile alınabilir

struct ogrenci{
char ad[10],soyad[20];
long no;
short sinif;
};

yukarıda goruldugu uzere içerisinde ad soyad no ve sinif degiskenlerini ogrenci degiskeni altında topladık peki bu struct tipi ogrenci degiskenimizi nasıl kullanırız ?

#include <stdio.h>

struct ogrenci{
char ad[10],soyad[20];
int no;
int sinif;
}
void main(){
struct ogrenci ogr;
printf("Ogrenci nosu :");
scanf("%d",&ogr.no);
if( ogr.no == 2248 )
{
ogr.no = 2248;
ogr.ad="ahmet";
ogr.soyad="Bingul";
ogr.sinif = 1;
}
printf("\nNo : %d",ogr.no);
printf("\nAdı : %s ",ogr.ad);
printf("\nSoyadı: %s ",ogr.soyad);
printf("\nSınıfı: %d ",ogr.sinif);
}

yukarıdaki ornek programda goruldugu uzere bir adet struct ogrenci tipinde ogr degiskeni tanımlanmıs
daha sonrasında ise ogrenci numarasına 2248 adına ahmet ve soyadına bingul denilmis

programda ise eger kullanıcı ogrenci no olarak 2248 girer ise ogrenci bilgilerinin listelenmesi istenmis

egerki birden fazla struct tipinde degisken olusturmak istiyorsanız

struct ogrenci ogr1,ogr2; seklinde kullanabilirsiniz

Öte yandan unutulmaması gereken struct degisken tipimizi programımız baslamadan olusturmak durumundayız arkadaslar yukarıdaki ornekte buna dikkat edebilirsiniz

yakın zamdan videolu örneklerle gorusmek uzere
iyi kodlamalar
c programlama - stringler (katarlar)
merhabalar arkadaslar bir onceki paylasımımızda sizlere dizilerden bahsetmistik simdide dizileri kullanarak string işlemlerini gerceklestirecegiz

string nedir?
bir char tipinde bildirilen karakter dizisidir. Stringler, içeriği harfler, rakamlar, veya bazı semboller olan text bilgilerini tutmak(saklamak) için kullanılır. C dilinde string bildirimi için bir tip deyimi yoktur. Bu yüzden, bir stringe bir dizi gözüyle bakılır

daha once char degisken tipinden bahsetmistik ve char ile klavyeden sadece 1 karakter okuyabildigimizi biliyoruz ancak bundan sonra dizileri kullanarak karakter kumesi olarak textlerimizi degisken olarak programlarımızda kullanabilecegiz

nasıl tanımlanır string yani karakter kumesi ?
aslına bakarsanız diziden pek farkı yok isterseniz bir tane tanımlayalım

#include<stdio.h>
#include<string.h>

void main()
{
char isim[10]="caner";
}

burada isim adı altında ve char tipinde bir string degiskenimiz oldu indexe bakarsak bu dizide 11 adet karakter tutabildigimi goreceksiniz

dizinin içine bakarsak
isim[0]=c
isim[1]=a
isim[2]=n
isim[3]=e
isim[4]=r

olarak karsımıza cıkacaktır kullanmadıgımız indexler ise bos olarak kalacaktır arkadaslar

peki bir stringi ekrana nasıl bastırabiliriz?

#include<stdio.h>
#include<string.h>

void main()
{
char isim[10]="caner";
printf("%s",isim);
}

ekrana caner yazacaktır

daha onceden hatırlayalım karakter cekerken kullanıcıdan char için %c ile cekerken stringlerde ise char yapısında olmasına ragmen diziler ile string halini almıs olamlarından dolayı %s ile ekrana bastırıyoruz

peki stringi kullanıcıdan nasıl cekeriz?

yine %s kullanarak cekecegiz

#include<stdio.h>
#include<string.h>

void main()
{
char isim[10];
printf("bir kelime giriniz\n");
scanf("%s",isim);
}

burada dikkat etmeniz gereken string cekerken artık degisken oncesinde & kullanmıyoruz bu pointer kavramları alakalı bir durum ilerleyen zamanlarda pointer kavramlarına degindigimizde aklınızda soru isareti kalmayacaktır
c programlama - dizi örnekleri

daha onceki paylasımlarımda sizlere for dongusunden bahsetmistim arkadaslar genellikle dizilere baslangıc degerlerini vermede for donguleri kullanılır

genel olarak acıklamak gerekirse bir diziye baslangıc degeri tanımalamak isterseniz bunun 2 yolu vardır her birini tek tek acıklayalım isterseniz

1. yol dizi tanımlama sırasında baslangıc degerlerinin atılması:

integer tipinde ve içinde 3 adet sayı tutacak bir dizi tanımlayalım isterseniz

#include <stido.h>
void main()
{
int sayilar[2]={3,7,9};
}

yukarıdaki örnekte goruldugu uzere 3 adet integer tipinde sayı tutacak olan sayilar[2] dizimizi olusturduk burada unutmamamız gereken husus dizi indexi 0 dan basladıgından 2 belirtmem 3 adet dizi elemanına sahip olmam anlamını tasıyor

bu ornekte kullandıgım tanımlama ise dizinin olusur olusmaz içerisine eleman degerlerini atmam anlamını tasıyor

burada degiskenlerim su hali almıs oluyor
sayilar[0]=3
sayilar[1]=7
sayilar[2]=9

peki ben dizimi tanımladım ve bu elemanları ekrana bastırmak istiyorum bunu nasıl gerceklestirebilirim?
işte bu noktada for dongusu devreye giriyor for dongusu kullanarak rahatlıkla tum dizilerinizi ekrana bastırabilirsiniz tek tek bastırabileceginiz gibi

#include <stido.h>
void main()
{
int sayilar[2]={3,7,9};
for(int i=0;i < 3;i++)
{
printf("%d",sayilar[i]);
}
}

programı calıstırdıgımız ekrana yan yana olarak : 379 yazacaktır arkadaslar

gelelim bir diger diziye deger atma metodumuza for kullanarak dizimize degerlerimizi verelim yine baslangıctaki örnegi ele alarak

#include <stido.h>
void main()
{
int sayilar[2];
for(int i=0;i < 3;i++)
{
printf("%d. sayiyi giriniz\n",i+1);
scanf("%d",&sayilar[i]);
}
}

yukarıdaki programı calıstırdıgınızda ekran goruntusu su sekilde olacaktır:
1. sayiyi giriniz
(kullanıcının girdigi sayi)
2. sayiyi giriniz
(kullanıcının girdigi sayi)
3. sayiyi giriniz
(kullanıcının girdigi sayi)

program son bulduktan sonra sayilar dizimizin içinde kullanıcıdan almıs oldugumuz 3 deger elde edilmis olur
gelelim kullanıcıdan aldıgımız degerleri yine for ile ekrana bastırmaya kullanıcıdan sayıları yukarıdaki programla istedik ve bize 3 7 9 sayılarını girdigini farzedelim

#include <stido.h>
void main()
{
int sayilar[2];
for(int i=0;i < 3;i++)
{
printf("%d. sayiyi giriniz\n",i+1);
scanf("%d",&sayilar[i]);
}
for(int a=0;a < 3;a++)
{
printf("sayilar[%d]=%d\n",i,sayilar[i]);
}
}

program cıktısı asagıdaki gibi olur
1. sayiyi giriniz
3
2. sayiyi giriniz
7
3. sayiyi giriniz
9
sayilar[0]=3
sayilar[1]=7
sayilar[2]=9
C programlama diziler:

Merhabalar arkadaslar,
c programlama dilinde kullanılan belkide en onemli degisken tipi dizi olarak tanımladıgımız degisken tipleridir peki nedir bu diziler?

Dizi bir kümedir. Aynı tipte verilere tek bir isimle erişmek için kullanılır. Bir dizinin bütün elemanları bellekte peşpeşe saklanır.

örnek verelim : bir kullanıcıdan 100 tane deger almanız gerekiyor bunun için 100 tane farklı degisken tanımlamak mumkun ancak bu hem zaman alacagından hemde yorucu olacagından dizileri kullanıyoruz arkadaslar

diziler tek boyutlu olabildikleri gibi cok boyutlu olarak da tanımlanabilmektedirler.

peki diziler nasıl tanımlanır ?

tek boyutlu diziler:
tip ad[eleman_sayısı] örnek : int veri[10];
burada eleman sayısı 0 dan 10 a kadar 11 adet veriyi veri ismini verdiğimiz dizimizin içine alıyoruz

sunu unutmamak gerekir dizimize veri aktarırken her zaman dizimiz 0. elemandan baslamak zorundadır ne demek bu yukarıdaki örnekten yol cıkalım

ilk eleman veri[0] iken son eleman veri[10] dur ve toplamda elimizde 11 adet veri mevcut olmus olur

şimdilik cok boyutlu diziler ile kafanızı karıstırmak istemiyorum bir sonraki paylasımımızda dizileri veri nasıl girilmelidir ve bazı dizi örneklerini ele alacagız



















c programlama dersi - 3

1 Şubat 2014 Cumartesi
Posted by MC


















Öncelikle sistem nasıl isliyor siz C ile yazsanız bile derleyici bunu makine diline cevirerek işlemci vb devre elemanlarına programı gömmenize olanak saglıyor ilerleyen zamanlarda goreceksiniz ki bizher olsuturdugumuz proje için bir hex dosyası elde edecegiz ister c ile istersek assembly dili yazmıs olalım dosyamız hep içerisinde assembly barından bir hex dosyası olacak arkadaslar

madem ki hex içerisinde de assembly olacak yazdıgımız program biz neden direkt olarak assembly kullanmayalım ki ? gibi bir sorun gelebilir aklınıza C dili low level olmasına ragmen Assembly yani makine diline gore insan diline daha yakındır bu sebeple programcılar programlama rahatlıgından dolayı C programlama dilini tercih ederler dezavantajı yokmudur elbette ki var C ile yazdıgınız bir program daha buyuk bir boyutta hex dosyası verir buda işlemci icerisinde daha fazla yer kaplaması anlamına geliyor

paylastıgımız fotografta aynı işlemi gerceklestiren C ve assembly kodlarını ve farklılıklarını gorebilirsiniz arkadaslar


Birçok elektrik elektronik muhendisi adayının gozunden kacan ya da uzak durdugu bir konu var arkadaslar


elektrik elektronik muhendisi programlama dillerinden en az altını cizerek soyluyorum en az birini bilmeli ilk iş gorusmenizde karsınıza cıkacak sorulardan biri de bu olacak


bu programlama dili C olur C# olur java olur ya da bir baskası Bunlardan birini nasıl ingilizce kacınılmazsa bizim için bilmek sart

sizlere en ince ayrıntısına kadar bilin demiyorum en azından ugrası icerisinde bu programlama dillerine hakim olun arkadaslar

Kucuk bir ornek vereyim C programlama dillerinin temeltasıdır Gomulu sistemler (pic-plc-işlemci) C programlama dilini kullanırlar ya da zor yoldan assambly dilini ogrenmek zorunda kalırsınız ki okullarda malesef bu dil ile programlamayı ogretmek cabasındalar cunku tarihte kaldı

ilerleyen zamanlarda programlama dillerine ayrıntılı deginecegim ve istek oldukca da burada en azından sizleri bir programlama diline asina edecek kadar bilgi ve birikim sunmaya calısacagım
ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger