Yeni Başlayanlar Klavuzu | SSS | Tavsiyeler

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Yeni Başlayanlar Klavuzu | SSS | Tavsiyeler

Mesaj gönderen G.Arkas »

Herkese merhaba;

Forumda sık sık "Yeni başlayan" ya da "Başlamayı düşünen" bir kesimin sürekli sorduğu ve gündeme getirdiği konular ile ilgi olarak bir makale ve genel bilgilendirme konusu açmaya karar verdim. Bu sayede belki bu arkadaşlar soru sormadan önce bu konuyu okurlar ve konu açmalarına gerek kalmadan çözüme ulaşırlar diye umut ediyorum. (İnşAllah) Değerli forum yöneticileri de bu konuyu sabitler ise amacımıza ulaşabiliriz.

Bismillahirrahmanirrahim diyerek başlayalım.

1 - Delphi'ye yeni başlayacağım ama yeterli türkçe kaynak yok :!: İngilizcem çok iyi olmadığı için öğrenmekte ve araştırmakta zorlanıyorum. Kaynak tavsiye eder misiniz?

- Öncelikle küçük bir tavsiye de bulunarak başlayacak olursak, eğer programlama öğrenmek ve bu işte ilerlemek istiyorsak mutlaka ama mutlaka en azından teknik dökümanları okuyabilecek ve kavrayabilecek düzeyde ingilizce bilgimizin olması şart. Çünkü bu sistemler bize ait değil hepsi gavur işi. Ve inan bana dünya da en son yapmak isteyecekleri şey Türkçe'yi yaygınlaştırmak. Bu yüzden İngilizce öğrenmen gerek dostum. Ancak şu da bir gerçek Delphi dili için de Türkçe kaynak sayısı yadsınamayacak kadar fazla. Aşağıda sana yol gösterecek linkler var bunlardan başlayabilirsin.

İngilizce için ücretsiz bir kaynak (Kardeşimiz ücretsiz olarak çok güzel bir şekilde bu dili anlatmış.)
http://www.ozkancelen.com/sitebuilder/page1.aspx

Türkçe PDF | 1200 Sayfa (Delphi 7)
http://tdsoftware.files.wordpress.com/2 ... delphi.pdf

Tuğrul Hocanın harika bloğu (Biraz ileri seviye ama çok sağlam makaleler var)
http://www.tugrulhelvaci.com/


2 - Delphi dilinin geleceği var mı?

- Harika ama bir o kadarda anlamsız bir soru :!: Embarcadero firması Delphi ile haşır neşir olmaya başladıktan sonra oldukça aşama kaydetti ve neredeyse her yıl yeni bir sürüm ve bir dizi yenilikler ile karşımıza çıkıyor. Son kertede Mobil programlamaya verdiği destek ile adeta yıkılmadım ayaktayım diyor. Kısacası Delphi dilinin geleceği de geçmişi de oldukça iyi. Ancak ülkemizde bu iş biraz farklı. Yapı olarak fazla garantici olan milletimiz ne yazık ki Delphi diline güvenemiyor. (Haklı nedenleri de var tabii ki) Ülkemizde en çok tercih edilen diller Microsoft teknolojileri (.NET Teknolojileri ve kütüphaneleri) ve Java. Birazcıkta C++ (Mühendislik firmaları genellikle). Bunu şuradan da anlayabilirsin. İş arama sitelerine girip yazılımcı aranıyor ilanlarına bakman yeterli olacaktır. Ama dünya da bu durum ülkemizde ki kadar vahim değil. Dünyada hala en çok tercih edilen diller arasında Delphi'de yer alıyor. Hatta bu dillere Phyton (Linux tabanlı) ve Ruby'ide ekleyebiliriz. (Rubi ne be? https://www.ruby-lang.org/tr/) En büyük yapılan hata ise "tek bir dilde uzmanlaşma ve başka dillere önem vermemek". Kesinlikle yanlış bir bakış açısı. İyi bir programcı bir çok dili kullanarak program yazabilmelidir.(Şahsi görüşüm katılmayabilirsin sıkıntı yok) Kısacası işini iyi yaptıktan sonra dilin çok fazla bir önemi yok. Ama Native kodlama yapmayacaksan (Örneğin MAC için Objective C) Delphi dili ile birçok platforma uygulama yazabilirsin.

3 - Delphi ile mobil uygulama yazmak mümkün mü?

- Bir önceki madde de bunun mümkün olduğunu söylemiştim zaten bak okumadan geçmişsin. :lol: Delphi 2 yıldır mobil programlamaya destek veriyor. Ancak şu an için çok verimli ve stabil değil. Halen geliştirmeye devam ediliyor. Eğer sadece mobil programlamak için Delphi dilini tercih ediyorsan bunu sakın yapma! Bunu yapabileceğin çok daha iyi platformlar ve SDK'lar mevcut. Aşağıdan bu ürünlere ulaşabilirsin.

Android Studio (Java) Native

http://developer.android.com/sdk/index.html

IOS SDK | OBJ-C / Swift
https://developer.apple.com/devcenter/ios/index.action

4 - Delphi ile web uygulaması geliştirebilirmiyim?

- Mobil programlamanın aksine Web ortamı için Delphi istediği ortamı bir türlü tutturamadı. Daha önce Delphi for PHP ve Delphi.NET ile bu pazara katılma çabasını gösterse de kullanıcılardan geçer not alamadı ve maalesef delphi web ortamından sınıfta kaldı. Ancak Intraweb ve Web Servisler için çeşitli ve başarılı ortamlar mevcut. (Raudus, UniGUI, CVDegTools) Bunlar ile gerçekten şık web uygulamaları geliştirebilirsin. Aynı zamanda son sürümler de DataSnap ve REST teknolojilerine önem vererek bu duruma gerçekten çok iyi bir aksiyon almış oldular.

5 - Delphi ile veritabanı uygulaması yazılabilir mi?

- Elbette! Delphi dili ile bir çok database ortamına bağlanıp uygulama yazabilmek mümkündür. Bunu delphinin standart (ADO vs.) bileşenleri ile yapabileceğin gibi 3. parti komponentler ile de (Zeos, FireDAC) yapmak mümkündür.

6 - Delphi'nin ne gibi avantajları var?

- Delphi'nin en önemli avantajı komponent desteğidir. Bu destek sayesinde bir çok işlem tek satır kod bile yazmadan gerçekleştirilebilir. Aşağıda bazı Delphi komponentlerini (Ücretli/Ücretsiz) bulabileceğin linkler veriyorum.

Torry
http://www.torry.net/

TMS Software
http://www.tmssoftware.com/site/

Raize
http://www.raize.com/DevTools/RzComps/

JVCL (JEDI Component Library)
http://jvcl.delphi-jedi.org/

- Bağımsızdır. (.NET kütüphanesi gibi bir eklentiye ihtiyaç duymaz. (Bazı durumlar haricinde)) Bu yüzden çıktı boyutları daha küçük olur.
- Hızlıdır ve yazımı oldukça kolaydır. Pascal yazım dilini kullanır.
- .NET'te olduğu gibi arka planda CLR gibi bir sistem koşturmaz. Bu sayede kısıtlamaları minimuma indirir.

7 - Delphi'nin zayıf yönleri nelerdir?

- Kötü bir IDE'si vardır. Hatta şahsen Visual Studio'yu kullandıktan sonra bazen Delphi'den soğuduğumu hissediyordum. :D intellisense 'ide çok başarısız bulduğum konulardandır.(Intellisense: IntelliSense bir dizi özellik için genel bir terimdir: Liste Üyeleri, Parametre Bilgileri, Hızlı Bilgi ve Tam Sözcük. Bu özellikler, yalnızca birkaç tuş vuruşu ile kullandığınız kod hakkında daha fazla bilgi edinmenize, yazmakta olduğunuz parametreleri izlemenize ve özellik ve yöntem çağrıları eklemenize yardımcı olur. Kaynak: MSDN.)

- Web desteği yeterli değildir. (Java ve .NET'e göre oldukça zayıftır)

8 - Delphi ile antivirüs yazılabilir mi? (Yeni başlıyorum hoca antivirüs ödevi verdi) :lol:

- Yazabilirsin tabii ki de. Hatta Kaspersky'ın leak olan kodlarında Delphi dili ile yazılmış kütüphanelerde var. (7 dil kullanılmış. C,ASM, C++, Delphi, WCF, VB, JAVA) Ancak bir antivirüs uygulaması asla tek bir dil ile yazılmaz. Bunun çeşitli nedenleri var tabii ki de. (Hız, Framework, Görsel Tasarım vs.) Tabii ki bir de yüksek seviye ve düşük seviye diller durumu var. Machine Code falan hiç uğraşılmaz onlarla sen en iyisi hocana söyle sana Hastane Otomasyonu versin. :D

9 - Delphi'yi ne kadar zamanda öğrenebilirim?

- Bu tamamen senin öğrenme becerine ve çalışma disiplinine kalmış. Eğer sende benim gibi Youtube'da bir eğitim videosu izlerken bir anda kendini Beşiktaş - Torku Konyaspor maçının golleri sayfasında buluyorsan öğrenmen biraz gecikebilir. :lol: Ancak öğrenmek için çok pratik ve bol sabır gerekir.

10 - Hangi programlama dilini seçmeliyim?

- Eğer bu maddeye gelene kadar yukarıda sıraladığım hiçbir maddeyi okumadıysan soracağın soru tam olarak da bu olacak :twisted: Önemli olan hangi dili öğreneceğin değil, asıl önemli konu senin ne yapmak istediğin ile alakalıdır. Çünkü her dil ile her şeyi yazamayacağın için, tek dil öğrenmekle de iyi bir programcı olunamayacağı kanaatindeyim.(Yine şahsi fikrimdir)

11 - Yaptığım yazılımı Crack'ten (Kırılmaktan) nasıl korurum?

- Yazdığın uygulamaya göre değişen bir kavram olmakla beraber Offline çalışan uygulamaları korumak daha zordur. Çünkü uygulama ile yayımcı arasında hiç bir bağ kurulamaz. Lisanslama işlemleri için genellikle bu forumda TurboPower OnGuard bileşeni tavsiye edilse de bir yazılımı korumanın %100 bir yolu yoktur ve olmayacaktır da. Ancak bu konuda şunu söylemem gerekiyor. Bazı yeni başlayan arkadaşlarım ilk yazdıkları hesap makinesi uygulamasını bile lisanslama peşindeler. :D Bir uygulamanın kırılacak ya da kırılmaya çalışılacak kadar değerli olması demek, o uygulamanın çok yaygın bir kullanım ağı (Örneğin Windows, Photshop vb.) olduğunu gösterebilir. Tabii ki de yaygın olmayan uygulamalarda bu işleme maruz kalabilir. Bu işlemi geciktirmek için bazı yöntemler mevcut tabii ki;

[*]HDD Fabrika seri numarasına göre Seri no üretmek
[*]USB dongle gibi aparatlar ile donanımsal lisanslama yapmak
[*]Kendi ürettiğiniz bir algoritma ile Obfuscate ya da Hex şifrelemek.
[*]Debug işlemine karşı korumaya almak.
[*]DLL ile lisanslama (Adobe'nin en son kullandığı teknoloji / Ancak hala kırılmaya devam ediyor :twisted: )

gibi seçenekler mevcut. He şunu da söylemek zorundayım bazen Crack işlemi bir pazarlama politikası ya da rakip firma tarafından düzenlenen bir operasyon olarak da karşımıza çıkabiliyor.

12 - Ben virüs yazmak istiyorum yardımcı olur musunuz?

- Zaten sen ve senin gibiler yüzünden Delphi dili Trojan diline döndü. Sayenizde Antivirüsler artık zararlı kod aramak yerine neredeyse Delphi Compiler imzası olan her uygulamayı gömçürüyorlar. Yürü git işine buradan sana ekmek çıkmaz. :lol:

13 - Delphi'ye nereden başlamalıyım?

- Buradan (http://www.delphibasics.co.uk/)

14 - Mail gönderme - Chat - FTP Client için örnek verir misiniz?

- Burada Indy'nin orjinal demoları mevcut. (http://www.indyproject.org/sockets/demos/index.en.aspx)

15 - Delphi için faydalı linkler?

- StackOverflow (http://stackoverflow.com/)
- MSDN (http://msdn.microsoft.com/tr-tr/dn308572.aspx) // Microsoft'un Developer ağı. Delphi örnekleri yoktur ancak diğer dillerden dönüşüm yapabilir ve API kullanımlarını inceleyebilirsiniz. Muhteşem bir kaynaktır.
- DelphiBascis (http://www.delphibasics.co.uk/)
- Embarcadero Wiki (http://docwiki.embarcadero.com/)
- Delphi About (Zarko Gajic) (http://delphi.about.com/)

Tavsiyeler

Buraya kadar dilim döndüğünce bazı şeyleri anlatmaya çalıştım. Forumumuz da çok değerli hocalarımız ve canı gönülden yardım etmeye çalışan değerli arkadaşlarımız var. Öncelikle şunu unutmamak gerekir. Burada ya da diğer forum ve sitelerde ki (Ücretsiz olanlar) kullanıcılar gönüllü olarak yardımcı oluyorlar ve bunun için kimseden bir ücret talep etmiyorlar. Bu doğrultu da her şeyden önce "Saygı" kavramını aklımızın bir köşesine koyalım.

Eğer programcı olmak istiyorsan çok okumalısın ve çok pratik yapmalısın. Bu iş çocuk oyuncağı değil tabii ki de. Ciddi bir iş ve zaman ayırmak gerekir. Aynı zamanda çok kuvvetli bir sabrın olmalı. Kitaplar almalısın, İngilizce dili ile yazılmış kitaplar çok daha faydalı ve kapsamlı oluyor. Örnekleri incelemelisin ve bol bol kendi örneklerini oluşturmalısın. Copy/Paste programcılığı seni bir yere kadar götürür. Bir yerden sonra istediğin kodu bulamayınca program yazmaktan vazgeçersin. Hepimiz ucundan köşesinden Copy/Paste işini yapmışızdır elbet ama en azından o aldığın kodun değişkenlerini ve parametrelerini bile değiştirsen sana bir şeyler katar. Bir sonra ki örneğinde o kodu kendi yazarsın ve kimseden yardım dilemezsin.

Özellikle çok değişken olan bu sektörde sürekli güncel kalmalısın. Kendini yenilemezsen maalesef ki başarılı olamazsın. Tabii ki bu söylediklerim bu işi meslek olarak yapmak isteyenler için geçerlidir.

Makalemin sonunda bir programcının kesinlikle öğrenmesi ve bilmesi gereken (Temel seviyede) kavramları sıralamaya çalışacağım. Bu maddeleri öğrendikten sonra sende farkedeceksin bu işlerin ne kadar eğlenceli ve üretmenin ne kadar güzel bir duygu olduğunu.

Bilinmesi gereken kavramlar...

* Veri tipleri, Özellikleri, Tanımlanma şekilleri
* Procedure / Function / Constructor / Type
* Döngüler (For, While - do, Repeat - Until)
* Diziler (Arrays)
* Sınıflar (Classes)
* Pointer
* Thread
* Stream
* API

Bu saydıklarıma çok daha fazlası eklenebilir.(Unuttuğum kesin vardır).

Öğrenme ile ilgili etkili sözler


Zevkle öğrendiğimizi, hiçbir zaman unutamayız.

Alfred Mercier

Birçok şeyi orta derecede öğrenmektense, az şeyi tam öğrenmek daha iyidir.

Andre Maurois

Önce kendi gideceğin yolu öğren, sonra öğretmeye kalk.

Budha

Öğrenmek için çok çalış, bilgi insanın daha zekice ve tesirlice çalışmasını sağlar.

Charles Schwab

Bildiğinizi zannetmeniz, öğrenmemenizin en büyük düşmanı olmuştur.

Claude Bernard


İyi çalışmalar...
En son G.Arkas tarafından 15 Ara 2014 12:30 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Yeni Başlayanlar Klavuzu | SSS | Tavsiyeler

Mesaj gönderen thelvaci »

Eline sağlık.
ufb1453
Üye
Mesajlar: 52
Kayıt: 14 Oca 2014 09:41
İletişim:

Re: Yeni Başlayanlar Klavuzu | SSS | Tavsiyeler

Mesaj gönderen ufb1453 »

Mükemmel bir bilgilendirme eline sağlık
Kullanıcı avatarı
Javs
Üye
Mesajlar: 32
Kayıt: 16 Eyl 2014 02:45

Re: Yeni Başlayanlar Klavuzu | SSS | Tavsiyeler

Mesaj gönderen Javs »

Yüreğinize sağlık Mizahi anlatımınızla sıkılmadan hepsini okudum sanırım bizim ülkemizdeki genel ve tek sorun diyebileceğimiz bir sıkıntımız okuma alışkanlığımız yok. Okumayı araştırmayı sevmiyoruz uzun bir yazı makale gördüğümüzde sıkılıyoruz ve okumaktan vazgeçiyoruz.
Cevapla