Programlamaya Nereden Başlıyabilirim?

Bu konuyu okuyanlar

bugrabozkurt35

Öğrenci
Katılım
23 Ekim 2016
Mesajlar
12
Reaksiyon puanı
2
Puanları
3
Yaş
21
Merhabalar Beni Adım : Buğra Bozkurt Lise 1 öğrencisiyim bilgisayara çok bağımlıyım 1 yıl önce aralıksız 10 saat bir oyun oynardım şimdi ise o oyna girdiğimde 10dakika olmadan çıkasım geliyor counter strike global offensive oyununda sourcemod kodlaması yapmaya çalıştım başaramadım.Programlamaya 15 yaşında başlamak istiyorum kendimi bir konuda geliştirmek istiyorum saf saf bilgisayarda oyun oynuyacağıma bir şey öğrenirim daha iyi.Ben programlama öğrenmek istiyorum bazı konularda HTML Css ile başlamak en doğrusudur diyenler var.Ben nereden başlamalıyım?Daha küçük yaştayım fakat 10 saat bilgisayarda kalıcağıma birşeyler öğrenirim daha faydalı olur hem vakitim boşa geçmemiş olur.
Arkadaşlar programlamaya nerden başlamalıyım ilk olarak neleri öğrenmeliyim.Konuma cevap verirmisiniz?Şimdiden herkeze yorumları için teşekkür ediyorum beklemedeyim.
 

kmurat

Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,486
Çözümler
3
Reaksiyon puanı
3,709
Puanları
113
Aynı konu belki bin defa açılmış. önceki açılan konuları bulup, okursan, buraya yazılacaklar da aynıları olacak. Meselâ Scratch diye bir şey var. Ne veya nasıl bir şey olduğunu kendin araştırırsan, programlamaya ilk adımı da atmış olursun. Başkaları senin için araştırıverirse, başkaları ilk adımı atmış olurlar ve sende izleyici tribün'ünden ne olduğunu anlamaya çalışıyor olursun.
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Daha önce defalarca anlattık artık usandık biraz şekil ile anlatalım belki anlarsın belki şekle başka şeyler çizecek olur…
Diagram.png
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Merhaba Buğra,

1. İngilizcen varsa geliştir yoksa öğren.
2. Teknik bilgin varsa geliştir yoksa öğren. (Örnek : Bilgisayar parçaları ve çalışma sistemleri)
3. İşletim sistemleri hakkında bilgi edin. Yapıları, temelleri ve çalışma sistemleri hakkında.
4. Programlama dilleri hakkında genel bilgileri araştır. Bunun üzerine yazılmış güzel makaleler var.

Eğer kararsız kalıyorsan hangi programlama dili hakkında başlamaya, araştırma ve öğrenme esnasında zaten emin ol sen değil o seni bulacak. Araştırmalarından, öğrenimlerinden sonra karşı karşıya kalacaksın o programlama dili ile. Kimsenin seni itmesine veya şununla başla demesine müsaade etme, çünkü bir programcı olduğunda birilerinden akıl alarak yazılım geliştiremezsin.

Saygılarımla.

Ben bir şema koymak istiyorum ayrıca.


Diagram1.png
 

eronis

Müdavim
Emektar
Katılım
25 Mart 2016
Mesajlar
5,389
Reaksiyon puanı
4,382
Puanları
113
Ne geliştireceğine karar ver ve bunu geliştirmek için kullananileceğin araçları (dilleri) öğren.
 

isyankar42

Müdavim
Katılım
8 Kasım 2015
Mesajlar
2,755
Reaksiyon puanı
806
Puanları
113
Bende lise 2 öğrencisiyim.Geçen yıldan beri bende merak salmıştım ilk olarak html5 ile başladım baktım ingilizce olmadan olmiycak ingilizceyi halletmeye başladım(şuan baya halloldu)Şimdi heralde üzerine yavaş yaavş koyarak üniye kadar html ve css yi çok iyi pekiştirmeyi düşünüyorum.Tabi bu arada derslerimide hiç salmıycam hedefim çok yüksek ve tutturabileceğime inanıyorum...
 

Halktan Biri

Müdavim
Emektar
Katılım
30 Ekim 2016
Mesajlar
9,401
Reaksiyon puanı
9,163
Puanları
113
Ne geliştireceğine karar ver ve bunu geliştirmek için kullananileceğin araçları (dilleri) öğren.
Bu konuda bana yardımcı olabilir misiniz?Ben Windows işletimsistemlerinde bilgisayar temizliği ve hızlandırmaya yarayan programlar yapmak isterim.Bunun için sizce hangi programlama dilini öğrenmeliyim?
 

Halktan Biri

Müdavim
Emektar
Katılım
30 Ekim 2016
Mesajlar
9,401
Reaksiyon puanı
9,163
Puanları
113
Bu arada en kolay programlama dili sizce hangisidir?
 

eronis

Müdavim
Emektar
Katılım
25 Mart 2016
Mesajlar
5,389
Reaksiyon puanı
4,382
Puanları
113
Dediğin sadece temizlik programı ise dilin çok fazla fark edeceğini sanmıyorum. C/C++/C# hatta Python bile kullanabilirsin. Ama ben bu programı yazacağım diye başlarsan direk pes edersin onu diyim. Küçük başla işe. Sonra bir dünya temizlik programı var piyasada, senin programının özelliği ne olacak ? Bu programdan bir kar elde etmeyi planlıyor musun ? Satacak bir noktan var mı ? Diller sadece araçtır, önemli olan onu kullanan geliştiricidir. HTML ve CSS ile Android programı yazılabilir misal (Bununla ilgili kitaplar var, ilk duyduğumda ben de şaşırmıştım), yada HTML5 ile oyun yazılabilir. Ama sana uygun olan bir dilleri kendin araştırıp öğrenmen gerek.
 

Halktan Biri

Müdavim
Emektar
Katılım
30 Ekim 2016
Mesajlar
9,401
Reaksiyon puanı
9,163
Puanları
113
Dediğin sadece temken izlik programı ise dilin çok fazla fark edeceğini sanmıyorum. C/C++/C# hatta Python bile kullanabilirsin. Ama ben bu programı yazacağım diye başlarsan direk pes edersin onu diyim. Küçük başla işe. Sonra bir dünya temizlik programı var piyasada, senin programının özelliği ne olacak ? Bu programdan bir kar elde etmeyi planlıyor musun ? Satacak bir noktan var mı ? Diller sadece araçtır, önemli olan onu kullanan geliştiricidir. HTML ve CSS ile Android programı yazılabilir misal (Bununla ilgili kitaplar var, ilk duyduğumda ben de şaşırmıştım), yada HTML5 ile oyun yazılabilir. Ama sana uygun olan bir dilleri kendin araştırıp öğrenmen gerek.
Cevap verdiğiniz için çok teşekkürler.Ben şu an için eğer bir program yaparsam satmayı düşünmüyorum.Belki daha sonra satmayı düşünebilirim.Temizlik programı derken elimde bazı .bat dosyaları var temp temizleme vb. şeyler için.Ama ben bu .bat dosyasının içindekileri nasıl .exe'ye çevirebilirim?.exe'ye çevirdğim şeyin güzel bir arayüze sahip olması güzel olur.Yani bu elimdeki bat dosyalarından nasıl .exe'li arayüzü güzel program yaparım?
 

kmurat

Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,486
Çözümler
3
Reaksiyon puanı
3,709
Puanları
113
Bat to Exe olarak internette ara. Komut istemi ile çalışan programların arayüzü olmaz veya pek hoş olmaz.
 

isyankar42

Müdavim
Katılım
8 Kasım 2015
Mesajlar
2,755
Reaksiyon puanı
806
Puanları
113
Eğer ingilizcen yoksa önce onu öğren ve temizlik programı için ciddi windows bilgisi gerekecek(ne nerde tuyulur ne nasıl silinir vb vb)
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Merhaba,

Türkçe olarak arattığın zaman internet üzerinde çok değerli paylaşımcı, yol gösteren insanların olduğunu görürsün. Örnek vermek isterdim ama burada isim ve site verilip verilemeyeceğini bilmiyorum.

"Bilgisayar temizliği ve hızlandırma işlemleri" hakkında ilk olarak windows temelleri hakkında bilgi sahibi olmaya çalışmanı tavsiye ederim. Eğer Windows temelli bir program hazırlamayı düşünüyorsan. Mesela klasik olarak bilinen; windows işletim sistemleri mesaj temelli çalışırlar. Mesajlaşma windows için herşeydir. Bunun üzerine kurulu bir dünyası vardır. Bu dünyanın içerisindeki işlere dışarıdan karışılmasını da pek sevmez. Sevmez demekten kastım; bir windows işletim sistemindeki temel işlemlere müdahale edilmesi halinde, microsoft windows işletim sistemlerinin nasıl cevap vereceği kesin olarak belirtilmemiştir. Aynı zamanda microsoft bu konularda destek vermemektedir. Bu yazdıklarım WinAPI, Handle, nativ programlama bazında temel işlemlere "attach", "injection", veyahut bir mesajlaşmanın sırasının bozulması vs. gibi birçok konu ile ilgilisi var. (Bunlar sadece birkaçı)

Yüksek seviyeli bir programlama dili ile bu sıkıntılardan kurtulmuş olursun. Tabii ki Yüksek seviyeli bir programlaa dili ile bunları yapamayacağın anlamına gelmez ama senin/programın adına sistem daha stabil kararlar verir ve sağlıklı ilerlersin. Yukarıdaki yazdıklarımda hemen hemen bütün işlemleri kendin ilerletmek zorundasın. Örnek olarak C/C++ ve aynı seviyede veya daha alt seviyeli bir programlama dili ile bunların sorumlulukları sendedir.

Başka alternatif olarak, bat dosyalarını exe'ye direk çevirmen gerekmiyor. Kendine C# veya VB.NET içerisinden WPF teknolojisi ile bir arayüz yapar o bat dosyalarını da hazırladığın arayüz altından çalıştırabilirsin. Burada yalnız birkaç sorun var gibi gözüküyor. Batch Programming ve .NET programming aynı şeyler değildir. Dolayısıyla her iki programın test edilmesi esnasında vereceği sonuçlar farklılık verecektir diye düşünüyorum. Hangisi dersen zamanlama, aynı zamanda güvenlik sorunu çıkacaktır. Örnek istersen Her ikisi için "Stress" testi uygulayabilirsin. Ardından Ad-Hoc testine tabii tut ve farklarını gör derim. Tabii ki bu senin yapacağın işin planına, veri boyutlarına vs. şeylere de bakar. Yani test sonuçlarını etkiler demek istedim. Güvenlik olarak herhangi bir bilgisayarda (Windows tabanlı) antivirüs programları ile sıkıntı yaşayabilirsin. (Direkt bat dosyalarının ardarda çalıştırılmasından bahsediyorum).

Eğer demek istediğin;

1-) Sistemin kendisinde çalışan bir yapının daha hızlı çalıştırılması ise tavsiyem C/C++ olacaktır. Ancak yukarıda belirttiğim gibi derinlemesine Sistem API bilgisi, derinlemesine mesajlaşma teknikleri, ve derinlemesine programlama bilgisi gerekecektir.

2-) Sistemin kendisinde çalışan bir yapıdan daha hızlı çalışan bir yapı oluşturmak ise tavsiyem yine C/C++ olacaktır. Arayüz C# olabilir ama arka plan işlemleri API'ler ile yapılabilir mesela.

Örnek istersen bende C/C++ ile daha hızlı bir kopyalama tekniği olduğunu düşündüğüm kodlar yazdım ve bunu da mutlaka test edeceğim. Milyon adet verilerden bahsediyorum. Herhangi bir sistem temeline inmeden direk C/C++ ile. Bu yukarıda bahsettiğim 1 numaralı fikir içerisinde değerlendirebilirsin. Sistem temelleri ile ilgili bir şey yapacak olsaydım, windos'un kopyalama sistemini kısıtlamaya giderdim veya bloke ederdim. Bunu yapabilirsin kolay. Ama bunu yaparsan arkasından neler geleceğini bilemezsin. Sorun tam burda işte.

Konuyu fazla uzatmak istemiyorum. Değerli arkadaşım şu an aklıma gelenler bunlar.

Saygılarımla.
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Dikkat edin arkadaşlar ne kadar az Türkçe o kadar iyidir…
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Merhaba,

algea ben anlayamadım ne kastettiğini.

Saygılarımla.
 

rasimtanu

Öğrenci
Katılım
28 Kasım 2016
Mesajlar
34
Reaksiyon puanı
6
Puanları
8
Yaş
38
En önce algoritma, işlem sırası ve matematikte problemler konusunu iyi öğrenmelisin derim
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Merhaba,

burada bilgimi kanıtlamak gibi bir hevesim olmadığı gibi aynı zamanda hiç kimseden akıl almaya ihtiyacım da yok. Eğer akıl vermek istiyorsan bence kendinle başlamanı tavsiye ederim. Çünkü herkesin farklı tekniği, bilgisi ve düşüncesi olduğu gibi aynı programlama dilini kullnabilir. Bu demek değildir ki herkes senin gibi düşünecek, herkes senin izlediğin yolu izleyecek..

Öğrenim konusunda eksikliğimi düşündüğün konuları kendine uygulamanı tavsiye ederim. Burada polemik yaratmak için değil, sadece hakkımda eksikliğini düşündüğün birşeyi açıklamadan, örnekler vermeden üstün körü yazdığın için cevap vermek istedim. Lütfen hakkımda daha fazla birşsey yazmayın. Bilgiyi tartışırım ama kişisel değil.

Saygılarımla.
 

kmurat

Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,486
Çözümler
3
Reaksiyon puanı
3,709
Puanları
113
Birisinin seni burada eleştirdiğini göremedim.
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Merhaba,

herkes ne görmek istiyorsa onu görüyor biliyorum. Şimdi "senden başka yazan olmadı" burda demenden endişeleniyorum.
Ama o da sorun değil. Sadece olayı kişiselleştirmeyelim. Dostça tabii ki bu yazılarım.

Saygılarımla.
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Merhaba,

algea ben anlayamadım ne kastettiğini.

Saygılarımla.
Ne kadar daha az Türk gibi iş çevirirsek o kadar daha iyi demektir… Demek istemiştim sanırım ne demek istediğim anlaşılmıştır!!!
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
Ne kadar daha az Türk gibi iş çevirirsek o kadar daha iyi demektir… Demek istemiştim sanırım ne demek istediğim anlaşılmıştır!!!

Merhaba,

algea bu yazımda sana karşılık bir cevap yazmamıştım (errno, Perşembe 21:34). Sadece ne demek istediğini gerçekten anlamadım ve bunu yazdım (errno, Pazartesi 19:43). Yazdıkların konusunda kesinlikle sana hak veriyorum. Ayrıca açıklaman için teşekkür ederim. Unutmadan; ünlem işaretlerine bayıldım. ;)

Saygılarımla.
 

kmurat

Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,486
Çözümler
3
Reaksiyon puanı
3,709
Puanları
113
Konuyu bir kaç ata sözü ile özetleyebiliriz.
erno arkadaşımızın demek istediği : Her yiğidin bir yoğurt yiyişi vardır.
Algea arkadaşımızın söylemek istediğide : Pişmiş aş'a su katmayalım.
 

serdar evrensel

Öğrenci
Katılım
13 Aralık 2016
Mesajlar
6
Reaksiyon puanı
0
Puanları
1
Yaş
44
Merhaba, yazılım yapmak istemen çok güzel.
Scratch diye bir yazılım var. MIT üniversitesinin yaptığı bir yazılım. Tavsiye ederim. İnternette bir sürü örnek uygulamalar var. (Ama algortima nedir öğrenmen gerek:))
 

Manchikof

Öğrenci
Katılım
14 Temmuz 2015
Mesajlar
4
Reaksiyon puanı
1
Puanları
3
Html ile başlamak uygundur diye bir yazı okumuştum senin yaşındayken. Yanlış bir yol olduğunu keşfettim sonra. Kısacası kendi kendine bu dil ile başlayabilirim diyebileceğin bir dil bul. Temel düzeyde kod yapılarını incele
 

kmurat

Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,486
Çözümler
3
Reaksiyon puanı
3,709
Puanları
113
Kafa çalışmadıktan sonra, nereden başlandığının bir önemi kalmıyor.
 

isyankar42

Müdavim
Katılım
8 Kasım 2015
Mesajlar
2,755
Reaksiyon puanı
806
Puanları
113
Merhaba,

Türkçe olarak arattığın zaman internet üzerinde çok değerli paylaşımcı, yol gösteren insanların olduğunu görürsün. Örnek vermek isterdim ama burada isim ve site verilip verilemeyeceğini bilmiyorum.

"Bilgisayar temizliği ve hızlandırma işlemleri" hakkında ilk olarak windows temelleri hakkında bilgi sahibi olmaya çalışmanı tavsiye ederim. Eğer Windows temelli bir program hazırlamayı düşünüyorsan. Mesela klasik olarak bilinen; windows işletim sistemleri mesaj temelli çalışırlar. Mesajlaşma windows için herşeydir. Bunun üzerine kurulu bir dünyası vardır. Bu dünyanın içerisindeki işlere dışarıdan karışılmasını da pek sevmez. Sevmez demekten kastım; bir windows işletim sistemindeki temel işlemlere müdahale edilmesi halinde, microsoft windows işletim sistemlerinin nasıl cevap vereceği kesin olarak belirtilmemiştir. Aynı zamanda microsoft bu konularda destek vermemektedir. Bu yazdıklarım WinAPI, Handle, nativ programlama bazında temel işlemlere "attach", "injection", veyahut bir mesajlaşmanın sırasının bozulması vs. gibi birçok konu ile ilgilisi var. (Bunlar sadece birkaçı)

Yüksek seviyeli bir programlama dili ile bu sıkıntılardan kurtulmuş olursun. Tabii ki Yüksek seviyeli bir programlaa dili ile bunları yapamayacağın anlamına gelmez ama senin/programın adına sistem daha stabil kararlar verir ve sağlıklı ilerlersin. Yukarıdaki yazdıklarımda hemen hemen bütün işlemleri kendin ilerletmek zorundasın. Örnek olarak C/C++ ve aynı seviyede veya daha alt seviyeli bir programlama dili ile bunların sorumlulukları sendedir.

Başka alternatif olarak, bat dosyalarını exe'ye direk çevirmen gerekmiyor. Kendine C# veya VB.NET içerisinden WPF teknolojisi ile bir arayüz yapar o bat dosyalarını da hazırladığın arayüz altından çalıştırabilirsin. Burada yalnız birkaç sorun var gibi gözüküyor. Batch Programming ve .NET programming aynı şeyler değildir. Dolayısıyla her iki programın test edilmesi esnasında vereceği sonuçlar farklılık verecektir diye düşünüyorum. Hangisi dersen zamanlama, aynı zamanda güvenlik sorunu çıkacaktır. Örnek istersen Her ikisi için "Stress" testi uygulayabilirsin. Ardından Ad-Hoc testine tabii tut ve farklarını gör derim. Tabii ki bu senin yapacağın işin planına, veri boyutlarına vs. şeylere de bakar. Yani test sonuçlarını etkiler demek istedim. Güvenlik olarak herhangi bir bilgisayarda (Windows tabanlı) antivirüs programları ile sıkıntı yaşayabilirsin. (Direkt bat dosyalarının ardarda çalıştırılmasından bahsediyorum).

Eğer demek istediğin;

1-) Sistemin kendisinde çalışan bir yapının daha hızlı çalıştırılması ise tavsiyem C/C++ olacaktır. Ancak yukarıda belirttiğim gibi derinlemesine Sistem API bilgisi, derinlemesine mesajlaşma teknikleri, ve derinlemesine programlama bilgisi gerekecektir.

2-) Sistemin kendisinde çalışan bir yapıdan daha hızlı çalışan bir yapı oluşturmak ise tavsiyem yine C/C++ olacaktır. Arayüz C# olabilir ama arka plan işlemleri API'ler ile yapılabilir mesela.

Örnek istersen bende C/C++ ile daha hızlı bir kopyalama tekniği olduğunu düşündüğüm kodlar yazdım ve bunu da mutlaka test edeceğim. Milyon adet verilerden bahsediyorum. Herhangi bir sistem temeline inmeden direk C/C++ ile. Bu yukarıda bahsettiğim 1 numaralı fikir içerisinde değerlendirebilirsin. Sistem temelleri ile ilgili bir şey yapacak olsaydım, windos'un kopyalama sistemini kısıtlamaya giderdim veya bloke ederdim. Bunu yapabilirsin kolay. Ama bunu yaparsan arkasından neler geleceğini bilemezsin. Sorun tam burda işte.

Konuyu fazla uzatmak istemiyorum. Değerli arkadaşım şu an aklıma gelenler bunlar.

Saygılarımla.
Sonuna kadar katılıyorum...
 
Üst