pcbway

Programlama Öğrenmek İstiyorum Ama Bilgiler Ağır Geliyor

Başlatan seron, 12 Ekim 2014, 21:55:01

seron

mehaba arkadaşlar,

eskiden beridir PC için çeşitli amaçlarla kullanmak üzere program yazmayı öğrenmek ve kullanmak istiyorum. şu ana kadar sitemiz de dahil internet üzerinden birçok bilgi, makale derledim, bilgisayarımda depoluyorum. ama ne zaman belgeleri açsam bana çok anlaşılmaz geliyor, sanki en başından değil de ortalardan anlatıyormuş gibi geliyor.

veriler:
basit format atma, basit bakım yapabilecek kadar ve elden geldiğince bilinçli kullanacak kadar yani "normal kullanıcı" seviyesindeyim. bir satır bile kod yazmış değilim.

anlama güçlüğü çekiyorum; boşuna vakit almaması açısından sizce uğraşmaya devam edeyim mi?

nereden, nasıl başlayayım?

şimdiden teşekkür ederim...

Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

gevv

Aynı sorunu bende yaşadım işi bilen birisi ile çalışmak şart kurs vb. olnasına gerek yok birlikte çalışabileceğiniz sizden daha tecrübeli birisi olursa daha kolay anlarsınız.

Uğraşlarınıza gelince öğrenemeseniz  bile sorun çözme, hazır kod üzine modifiye,  fikir yürütme vb. için faydalı olur.


elektrofizikci

Valla seron bende aynı sıkıntıları yaşıyorum. PIC programlama üzerine  Serdar hocanın kitabını bitirdim. Ufak tefek şeyleri yapabilirim ama ilerisi yok.
Sebebine gelince bence, programlama kullanım dili ve hayal gücü bakımından yüksek bir çalışma alanı. Dili günlük terimlerimizden uzak. Cem Yılmazın Cümle İçinde Kullan anlarsın skecine uymayan bir durum. Goto Ne demek? Cümle içinde kullan anlarsın .." Babamın GOTO su var ? bak yine anlamadım :) Sen ben ve bizim gibiler sürekli bu iş ile uğraşmayacağımızdan bizim iyi bir programcı olmamız zor.  Anca bir dilde güzel bir temel atarız, sonrası yapmak zorunda kalırsak katları çıkarız.
gevv in dediği gibi hazır kodlarda oynayıp değişiklikleri görmek de iyi bir öğrenme yöntemi. Ayrıca net dışında kesin bir kitap evde bulunmalı.  Dil olarak da C ve türevleri çok yaygın olduğundan sıkça tavsiye edilir... Kolay gelsin...
"elektrofizikci" adıyla facebook sayfamdan, web sitemden, youtube kanalımdan, twitterden, hotmail adresimden ve Linkedin den takip edebilirsiniz. Elektrik Elektronik ve Makine üzerine fuarlar, söküm videoları, kendin yap ürünleri, teknik denemeler, robot yarışları bu sitede  [url=http://www.elektrof

stk4221

benim dusuncemde en azindan hazir pıc li devreleri yapabilmek zamanla dilinde gelistirebiliriz kendimizi
vatan kanla alınır ter ve göz yaşı ile korunur

seron

önerileriniz için teşekkür ederim. bak ben onu düşünmemiştim: hazır yazılmış bir kod üzerinde değişiklikler yaparak sonuçları gözlemlemek...

malesef çevremde bu işle uğraşan kimse yok. hatta oturduğum mahallede (internet kafeler hariç) format atmayı bilen sayılı kişilerden, linux kullanan tek kişiyim... yine mahallede tamirciler dışında elektronikle uğraşan tek kişiyim diyebilirim.

evet sürekli ve ticari amaçla uğraşmayacağım için biraz zor. önerilerinizi değerlendireceğim. konuyu çözüyorum ama yorum eklemek isteyen devam edebilir, okumaya devam edeceğim... ANA! konu çözüldü butonu yok!!!
Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

gokhan60

Hocam, öncelikle hiç bir MCU üzerinde öğrenmemenizi, sadece bilgisayarda çalışmanızı öneririm.
MCU işin içine girince programlamadan başka şeylerde giriyor, yazdığın programın sonuçlarını görmek yeni başlayanlar için neredeyse imkansız oluyor.
Bir dil seçin, bu konuda "C" dilini tavsiye ederim.
Bir kitap alın, bu konuda Kaan Arslan'ın c kitabı muazzamdır. Kitapçılarda bulunmuyor artık, internetten pdf halinde olanı var.
Bilgisayara dev c adlı IDE'yi kurun, derleyicisi(MinGW) içinde geliyor.
Kurulumu burdan indirin: http://sourceforge.net/projects/orwelldevcpp/
IDE ve Compiler nedir bunları öğrenin. Birbirlerine karıştıran çok.

Anlamadığınız yerleri burdan sorun.

seron

Alıntı yapılan: gokhan60 - 13 Ekim 2014, 15:37:24Bilgisayara dev c adlı IDE'yi kurun, derleyicisi(MinGW) içinde geliyor.

hemen sorayım o zaman: bu nedir: dev c IDE? derleyicisi minGW ne? ;D kusura bakmayın...
Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

gokhan60

IDE derleyici(compiler) ile senin aranda iletişim kuran bir arayüz. IDE kullanmayıp notepadla bile kod yazılabiliyor(tabiki herkes IDE kullanıyor).
Derleyici ise, yazdığımız anlamlı kodları, işlemcinin anlayacağı dile(makine dili) çeviren yazılım.
Makine dilinin bir tık üstü assembly dilidir. Makine diline göre daha anlaşılır bir dildir. Bu dile düşük seviye dil denir. En ince ayrıntısına kadar işlemciyle bire bir çalışırsınız, bunu yapabilmeniz için işlemciyi çok iyi tanımanız gerekir ve aynı kodları başka bir işlemcide çalıştıramazsınız, komut seti farklı olduğu için. Onun dilini ayrı öğrenmeniz gerekir.
Bizi bu dertlerden kurtaran, aynı kodu yazmamıza ramen farklı işlemcilerde çalıştırabilmemiz için daha yüksek seviye diller kullanırız. C dili orta seviye dildir.
Orta seviye bu diller, assembly'nin zorluğunu ortadan kaldırır, kod ezberlemek yerine projeye üzerine daha çok düşünmemizi sağlayacak olan zamanı kazandırır. C dili sayesinde, farklı platformlarda çalışabilirsiniz. Orta seviyenin de bazı zorlukları vardır. Ne de olsa assembly'nin bir tık üstüdür. Bir yandan insan gibi kod yazarsınız ama bir yandan da sistemin içindesinizdir. Yani işe uzaktan değil, içinden devam edersiniz.
Mesela windows ortamında butonlu, mutonlu görsel bir program yazabilmeniz için, 1000'lerce sayfa kod yazmanız gerekir, ve bu kodları yazmak sizin asıl uğraşmanız gereken, projenizden kopmanıza sebep olur.
İşte bu noktada yüksek seviyeli diller imdadımıza yetişiyor. C#, java gibi dillerdir bunlar. Kodunuzu işlemciye göre yazmazsınız, işletim sistemine göre yazarsınız. Daha doğrusu derleyici, bu kodları direkt makine diline değil, işletim sisteminin kendi anlayacağı dile çevirir.
c# ile buton oluştur dersiniz, oluşur. Nasıl oluştuğunu bilmezsiniz, müdahale de edemezsiniz. Bu olay proje oluştururmanızı hızlandırır, arkaplandaki işler ile uğraşmadığınız için zaman kazanırsınız ama programınız, işletim sisteminin kendi anlayacağı dile göre yazıldığı için yavaş çalışır. Aynı kodu c ile yazsaydınız, direkt işlemciye göre derlediğiniz için çok daha süratli çalışacaktı. Bunu her babayiğit yapmaz.  Gerek te yok, günümüz bilgisayarları çok hızlı zaten.

Kısaca:
Dev C/C++ bir IDE, c ve c++ dillerinde program yazmanız için bir arayüz.(IDE)
MinGW, window ortamında çalışan, ücretsiz bir derleyicidir.
Başka soru varsa alalım.

stk4221

vatan kanla alınır ter ve göz yaşı ile korunur

seron

şimdi gerçekten anladım. peki python nasıl olur/nedir. bazı internet kaynakları yeni başlayanlar için c veya phytonu önermekte.

makine dili, binary dili gibi şeylerle vakit harcamam güç. bu nedenle bir kaç "tık" üstte duran visual basic ile çalışsam, önerir misiniz?
Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

gokhan60

Algoritma kurmayı öğrenmiş ve bir adet programlama diline 6 ay düzenli çalışmış birisi için yeni bir dil öğrenmek, başka model bir arabaya alışmak kadar kolaydır.
phyton'u hiç kullanmadım, bu yüzden iyi/kötü diyemem. Ama c dilini iyi öğrenirseniz, olayı çözmüş, artık bu camiada söz sahibi olmuşsunuz demektir.
Visual basic dilini şöyle tavsiye ederim, "ben bu işe şöyle bir bakıp geçeceğim, aslında bu işi öğrenmek yerine bir hevesimi alıp bırakacağım" diyorsanız, tavsiye ederim. İçinde "visual" veya "basic" geçen bir dil ile programlama öğrenilmez. Öğrendim sanarsınız.

Bir söz: "Programlama, yaparak öğrenilir..."

seron

@gokhan60 olayı çok güzel anlattınız, sağolun. :)

ben programlamaya dair hiç bilgi sahibi olmadığımdan, hevesimin geçici olup olmadığını da bilmiyorum. yıllardır içimde böyle bir heves var idi. baştan da belirttiğim gibi belki de hiç yeteneğim yok ise eğer, vakit kaybetmek yerine birkaç tip amatör düzeyde program yapmak isterdim. internetteki freeware programlar türünden.

anlaşılan visual basic ile olmuyor...
Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

gokhan60

Visual basic ile de çok güzel programlar yaparsınız, ama programlamayı öğrendiğiniz anlamına gelmez. Patron, işçilere "şu işi yapın" der, ve yapılır ama patron, işin nasıl yapıldığını bilmez.

seron

Alıntı yapılan: gokhan60 - 14 Ekim 2014, 15:37:28Visual basic ile de çok güzel programlar yaparsınız, ama programlamayı öğrendiğiniz anlamına gelmez. Patron, işçilere "şu işi yapın" der, ve yapılır ama patron, işin nasıl yapıldığını bilmez.


bu elbette kötü ama işin çabuk tamamlanması açısından konumuz dahilinde bir yandan iyi de.

her düğmenin kaç milimetre nereye konacağı vb gibi perncere ve sekme tasarımlarını da kontrol edebilmeliyim... bana birçok konuda destek sağlamalı... pekala ben elimdeki kaynaklardan yüzeysel de olsa c dilini okumaya başlıyayım. bir yandan da VB öğreneyim.

sizden birşey rica etsem? programlamadan iyi düzeyde anlar mısınız? var olan bir programın yeniden düzenlenmesi hakkında yardım isteyecektim...
Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

gokhan60

Bu arada c ile programlamayı söktükten sonra c# ile devam etmeniz daha kolay olur. C# dili C diline benzer olduğu için zorluk çekmezsiniz. Visual basic'e göre de daha güçlü bir dildir, .net'in asıl dili c#'tır. Ama bu işi sırayla yapın, c'den sonra c#'a geçin.
Bahsettiğiniz program için bir konu açın, beni etiketleyin, bu konuyu dağıtmamış oluruz.

seron

konu açmadan önce özelden yazayım; gereksiz ise konu kalabalığı olmasın...
Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

toyer

yardımcı olmaya calşışırım elimden geldiğince C konusunda.  anlamak istediğiniz, yorumlatmak istediğiniz veya yaptırmak istediğiniz bişey olursa yazınız.

seron

Alıntı yapılan: toyer - 17 Kasım 2014, 11:48:48yardımcı olmaya calşışırım elimden geldiğince C konusunda.  anlamak istediğiniz, yorumlatmak istediğiniz veya yaptırmak istediğiniz bişey olursa yazınız.
sağolun. indirdiğim dosyaları inatla anlamaya çalışarak okudum ilk başlarda ama olmuyor. bana sayısal işlemler yaptırmak istiyor. şu tabanındaki sayıları çöyle hesaplatıp şuna çevirmemi istiyor falan. ilkokuladn beri matematiğim zayıftı. bu nedenle şimdilik yıldım diyebilirim.

bu nedenle bir programa ihtiyacım olduğunda başkasına yaptırmak kararı aldım.

Ceryanlı devreler olarak prensibim: Az iş, çok laf! O kadar!
Ayrıca şunu unutmayın, atasözüdür, oylarınız damlaya damlaya... Dağdan kestim kereste.

stk4221

@toyer kardeşimböyle bir hata veriyor aslında  bir adet led'i  1sn aralıkla açıp kapamak




vatan kanla alınır ter ve göz yaşı ile korunur

sayangku

Alıntı yapılan: gevv - 13 Ekim 2014, 09:15:39Aynı sorunu bende yaşadım işi bilen birisi ile çalışmak şart kurs vb. olnasına gerek yok birlikte çalışabileceğiniz sizden daha tecrübeli birisi olursa daha kolay anlarsınız.

Uğraşlarınıza gelince öğrenemeseniz  bile sorun çözme, hazır kod üzine modifiye,  fikir yürütme vb. için faydalı olur.



hocam bende dediginiz gibi istediginiz her programlama dili hakkında fikir yurutebiliyorum hazir kodları editleyebiliyorum derliyorum kafaya takınca
mesala yüz c sharp yüztanıma sistemi source buluyorum editliyorum karti yapıyorum çalısıyor haticeye  diyil netice bakılır normalde ama
yine zevk alamiyorum programlamada hersey yapabiliyorum  fikir edinebiliyorum ama kendim yazmıyorum kodları üşeniyorum çok kopyala yapıstıra alıstım  şuan ccs c ,c sharp , dremwewr, html ,php ,visucalbasic serisi site tasarımı,cryenginer3, flash ,android programlama en son led açıp sondurdum hc05 le programı editledim şimdide atmel giricem ardino alıp nasip ederse Allah yani bu saydıklarımla hepsinde birseyler yaptım hocam  bunları yaparken ya editledim yada hazir kod kulandım yada ufak tefek kodları kendim yazdım demek istedigim bir coder degilim ama proje verilse coder önce yapacak özgüven ve bilgi var ama kod yazma yok ezber yapmak istemedigim için oluyor birazda bu hazırcılıgın mantıgı yıkmak istiyorum hocam  sıfırdan bir projeyi internetten hiç bir kod bakmadan nasıl yapabilirim bir yol gösterseniz çok sevinirim gerçekten
''Paranın Başkaları İçin Taşıdığı anlam,
  benim için  birşey ifade etmiyor ''
                                                   Nikola Tesla

toyer

Alıntı yapılan: stk4221 - 17 Kasım 2014, 23:14:13@toyer kardeşimböyle bir hata veriyor aslında  bir adet led'i  1sn aralıkla açıp kapamak






noktali virgül   ;  kullanmak
void main()
{
do{ code .....

} while(1);
}
[mergedate]1416262663[/mergedate]
ccs c compiler kullanmadim code yapısı değişik olabilir.

void main()
{
set_tris_b(0x00);
while(1)
{
code.....

}
}
hi tech c de boyle .

önemli bir kural açtığın kadar parantez kapat.

RaMu



[mergedate]1416342723[/mergedate]
Birde do while da;
do ile açılan kapatılan parantez { }  süslü parantez olmalı.,
@toyer de bunları anlatmış zaten.

Sparky

Alıntı yapılan: stk4221 - 17 Kasım 2014, 23:14:13@toyer kardeşimböyle bir hata veriyor aslında  bir adet led'i  1sn aralıkla açıp kapamak






delay_es() değil delay_ms() kullanmanız gerekiyor. milisaniye seviyesinde gecikme tanımlamak için.

teknikyedek

ben de arduino uğraştım kolay geldi bana dedim birazda pic bakınayım kursa gittim ama nafile olmayınca olmuyor kafam vücuduma ağır geliyor sanırım :))
eee ne olacak şimdi....